2013-01-19 28 views
0

我想學習如何調試jQuery。我試圖製作一個頁面,它將動態地添加輸入實體。數據被髮送到jquery。現在進行調試,我試圖console.log整個數組,但我在Firefox收到此錯誤:使用從HTML採取的JavaScript打印數據

[17:40:27.073] HTML文檔的字符編碼不 聲明。如果文檔包含來自 US-ASCII範圍之外的字符,則該文檔將在某些瀏覽器 配置中以亂碼文本進行呈現。頁面的字符編碼必須在 文檔或傳輸協議中聲明。 @ 文件:///Users/ateevchopra/Desktop/takemehome%20dynamic/TakeMeHome/index.html

請解釋這是什麼意思的,如果在我的代碼中的一些錯誤。我的繼承人代碼

HTML:

<!doctype html> 
<html> 

<head> 
    <title>TakeMeHome</title> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 
    <script type="text/javascript" src="js/jquery-ui-1.8.1.custom.min.js"></script> 
    <script type="text/javascript" src="js/main.js"></script> 
    <script type='text/javascript' src='js/app.js'></script> 

    </head> 

    <body> 
    <center><form id="details"> 
     Your Place:<input id="source" type="text"><br><br> 
     Friend1:<input id="friend1" type="text"><br><br> 
     <div id="friends"></div> 
     <div id="button">Add!</div><br><br> 

     <input type="submit" value="go"> 
    </form> 
    </body> 

</html> 

的jQuery:

var j=2; 
var friends = []; 


$(document).ready(function(){ 

    $('#button').click(function(){ 
     if(j<11){ 
      $('#friends').append('Friend'+j+':<input type="text" id="friend'+j+'"/><br/><br/>'); 
     j++; 
     } 
    else 
     { 
    alert("Limit reached"); 
    } 
    }); 



}); 


$("form").submit(function(){ 

    friends[0] = ('#source').val(); 
    for(var i=1;i<j;i++) 
    { 
     friends[i] = ('#friends'+i+'').val(); 
    } 

    console.log(friends); 
}); 

回答

1

你的代碼是可以正常使用,你可以看到它來自this console.log很適合調試,但我更喜歡使用firebug進行調試。 使用螢火蟲,你可以調試每一行,你也可以查看每個變量的值。 我用firefox的firebug。 你可以從那個link下載firefox for firefox。我希望它可以幫助你。

+0

嘿,我看着jsfiddle。我收到的警報每次都說「開除」。但它應該顯示我輸入的朋友列表。爲什麼沒有來? – user1263375

+0

我更新了小提琴現在它將爲您提供var f中的朋友。我也對做了一些更改。現在它會爲您提供所有的文本框,並且您可以從每個文本框中獲取值表單。[jsfile](http://www.jsfiddle.net/fqQLC/1/) –

+0

仍然我沒有獲得該列表! – user1263375

1

錯誤無關使用JavaScript。

如果您添加一個元標記,如<meta charset="UTF-8" />它應該是固定的。

我也看到你有一個類型的文檔類型聲明。

+0

但是無論何時我在瀏覽器中嘗試此操作,我都沒有收到我輸入的所有朋友名稱的提醒。 ? – user1263375

+0

那是因爲你在你的js中有錯誤,其中一個錯誤就是看到你有多個jquery文件。在同一頁面上包含不同版本的jquery可能會導致衝突。 – defau1t

+0

我應該刪除哪一個? – user1263375

1

這不是您的Javascript代碼中的錯誤,而是Firefox針對實際HTML標記的有效性發出的一般警告。

該文檔的編碼應在header標記內聲明一個meta標記。例如,如果你的編碼是UTF-8將是:

<head> 
    ... 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    ... 
</head> 

由於您的文檔類型爲HTML5,你也可以使用charset屬性:

<head> 
    ... 
    <meta charset="UTF-8"> 
    ... 
</head>