2013-12-15 96 views
0

我有一個包含大量帶有增量id的文本框的頁面。我想閱讀所有這些ID並使用JavaScript顯示它們。JavaScript循環getElementById

HTML頁面,看起來像:

<input type="text" id="item1" value="111" ></input> 
<input type="text" id="item2" value="222" ></input> 
<input type="text" id="item3" value="333" ></input> 

和一個javascript部分:

for (var i=1; i<3; i++){ 
    var values = parseInt(document.getElementById('item' + i).value); 
    document.write(values); 
} 

我想不通爲什麼,但只顯示第一個ID,然後在Firefox中返回一個錯誤(在調試控制檯sysing:TypeError:document.getElementById(...)爲空

感謝您的幫助!

羅曼

+1

當「顯示第一個ID」時,頁面的外觀如何?這是一個白色屏幕,左上角只有「111」? – Pointy

+0

關於JSFiddle看起來不錯:http://jsfiddle.net/xFZz8/ – yarl

+4

順便提一下:'for(var i = 1; i <3; i ++)'只會寫入2個元素 – yarl

回答

5

document.write是造成這個問題,將其刪除外循環,它應該工作。此外,您的for環路定義僅針對2個元素,而不是第3個環路...

var values = [], i = 0; 
for (; i < 4; i += 1) { 
    values.push(parseInt(document.getElementById('item' + i).value, 10)); 
} 

document.write(values.join(', ')); 
+0

不會是:'var values = [],i; (i = 0; i <4;'? –