2012-05-07 104 views
0

以下脚本在我的一台计算机上正常工作,但在另一台计算机上执行时,我得到uncaught referenceerror $ is not defined。这是另一个类似页面上的相同错误。另外它说无法加载ajax.google ...源的资源。在其他计算机上执行时未捕获ReferenceError

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> 

<script type="text/javascript"> 
    //add dynamic fields to add more addresses 
    $(document).ready(function() { 
     $('#btnAdd').click(function() { 
      var $address = $('#address'); 
      var num = $('.clonedAddress').length; 
      var newNum = new Number(num + 1); 
      var newElem = $address.clone().attr('id', 'address' + 
newNum).addClass('clonedAddress'); 

      //set all div id's and the input id's 
      newElem.children('div').each (function (i) { 
       this.id = 'input' + (newNum*11 + i); 
      }); 
      newElem.find('input').each (function() { 
       this.id = this.id + newNum; 
       this.name = this.name + newNum; 
      }); 

      if (num > 0) { 
       $('.clonedAddress:last').after(newElem); 
      } else { 
       $address.after(newElem); 
      } 


      $('#btnDel').removeAttr('disabled'); 

      if (newNum == 2) $('#btnAdd').attr('disabled', 'disabled');//number of 
field sets that can be added 
     }); 
     $('#btnDel').click(function() { 
      $('.clonedAddress:last').remove(); 
      $('#btnAdd').removeAttr('disabled'); 
      if ($('.clonedAddress').length == 0) { 
       $('#btnDel').attr('disabled', 'disabled'); 
      } 
     }); 
     $('#btnDel').attr('disabled', 'disabled'); 
    }); 
</script> 
+3

互联网已关闭。 –

+0

您正在从网上加载jQuery。 '没有互联网=没有jQuery' – Joseph

回答

1

第二个错误会导致第一个错误。无法加载jQuery会导致$未定义。而且,由于您是从CDN加载的,因此可能会出现以下两种情况之一:a)您的网络已关闭,或者b)Google的CDN已关闭或不再通过该路径进行托管。既然你说它在另一台计算机上工作,我的倾向是:a)你的网络已关闭。

正如Rocket在评论中解释的那样,可能不是你的网络完全关闭,而只是你无法进入谷歌CDN。防火墙或其他内容可能会导致此问题。


如果您的计算机可能存在网络故障,建议您下载压缩的jQuery源文件并进行本地化。如果你要这样做,我强烈建议尽可能使用高于1.3的东西。

+0

或者某种防火墙封锁了Google的CDN(或者通常阻止JavaScript),或者其他什么东西。 –

+0

感谢@火箭,这是一个很好的观点。我已经更新了我的答案以反映这种可能性。 –

0

@ Kirean的答案是正确的,但我想分享一下HTML5的样板用来掩盖这种情况下(太多评论)

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="/path/to/local/jquery-1.6.2.min.js"><\/script>')</script> 

它试图从谷歌的CDN载入jQuery的,如果不成功(window.jQuery未定义),它会加载您的本地版本而不是回退。

相关问题