javascript循环getElementById

javascript循环getElementById,javascript,loops,Javascript,Loops,我有一个页面,其中包含许多带有增量id的文本框。我想读取所有这些id并使用javascript显示它们 HTML页面,看起来像: <input type="text" id="item1" value="111" ></input> <input type="text" id="item2" value="222" ></input> <input type="text" id="item3" value="333" ></inp

我有一个页面,其中包含许多带有增量id的文本框。我想读取所有这些id并使用javascript显示它们

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);
}

for(var i=1;i
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(', '));
var值=[],i=0;
对于(;i<4;i+=1){
push(parseInt(document.getElementById('item'+i.value,10));
}
document.write(values.join(',');

文档。写入
会导致问题,请将其从循环外部删除,它应该可以正常工作。此外,您的
for
循环定义仅循环两个元素,而不是第三个元素

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

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

当“显示第一个ID”时,页面是什么样子的?它是一个只有“111”在左上角的白色屏幕吗?在JSFIDLE上看起来正常:顺便说一句:
for(var i=1;i@romain可能的问题是
document.write()
在页面完成后调用时会删除整个页面。当
document.write()时
用于已加载的文档,它会清除当前文档并启动一个新的空白文档,从而清除当前DOM。很可能您根本不想在此处使用
document.write()
。当“显示第一个ID”时,页面是什么样子的?它是一个只有“111”的白色屏幕吗在JSFIDLE的左上角?看起来很正常:顺便说一句:
for(var i=1;i@romain可能的问题是
document.write()
在页面完成后调用时会删除整个页面。当
document.write()时
用于已加载的文档,它会清除当前文档并启动一个新的空白文档,从而清除当前DOM。很可能您根本不想在此处使用
document.write()
。它不是:
var values=[],i;for(i=0;i<4;
?它不是:
var values=[],i;对于(i=0;i<4;