我目前从我的.getElementsByName()
查询中得到 5 个结果,并且在抛出一个 simple 时循环它们按预期进行alert()
,但是一旦我尝试为这些结果设置新名称,它就会跳过我的第二个和第四个匹配项。
资源:
<form>
<input type="text" />
<input type="checkbox" name="target" value=1 />
<input type="checkbox" name="target" value=2 />
<input type="checkbox" name="target" value=3 />
<input type="checkbox" name="target" value=4 />
<input type="checkbox" name="target" value=5 />
<input type="text" />
<input type="checkbox" name="test" />
<input type="checkbox" name="test" />
<input type="checkbox" name="test" />
</form>
当我尝试:
window.onload = function() {
var fields = document.getElementsByName("target");
for (var i = 0; i < fields.length; i++) {
alert( fields[i].value );
}
}
它对所有五个值都发出警报。
但是,当我尝试这样做时:
for (var i = 0; i < fields.length; i++) {
fields[i].name = 'target[]';
}
它只会重命名每隔一个(0,2,4)。
我错过了什么?