只想问一下,为什么以下代码无效(发现错误)
for(var i=1; i<10; i++)
{
alert(window.document.FORM.checkbox[i].checked);
}
但我可以执行以下操作,我只想循环在html中创建的复选框:
for(var i=1; i<10; i++)
{
alert(window.document.FORM.checkbox1.checked);
}
答案 0 :(得分:0)
很奇怪,但你的代码对我有用。
for(var i=1; i<10; i++)
{
alert(window.document.FORM.checkbox[i].checked);
}
<form name="FORM">
<input type="checkbox" name="checkbox" checked="true" />
<input type="checkbox" name="checkbox" checked="true" />
<input type="checkbox" name="checkbox" />
<input type="checkbox" name="checkbox" checked="true" />
<input type="checkbox" name="checkbox" />
<input type="checkbox" name="checkbox" />
<input type="checkbox" name="checkbox" />
<input type="checkbox" name="checkbox" checked="true" />
<input type="checkbox" name="checkbox" />
<input type="checkbox" name="checkbox" />
</form>
答案 1 :(得分:0)
你的两个陈述不一样;当我等于1时,你的陈述将被评估为
alert(window.document.FORM.checkbox[1].checked);
与
不一样alert(window.document.FORM.checkbox1.checked);
确实如此,使用Lee Taylor的解决方案,或者使用id重写整个方法或通过document.getElementsByTagName获取所有复选框,例如
var chks = document.getElementsByTagName("input");
for (var i=0, l=chks.length; i<l; i++) {
if ( chks[i].type === "checkbox" )
alert(chks[i].checked);
}
HTH, bovako