我是网络开发的初学者。 我正在尝试创建一些代码类似于我在下面附加的代码。 但是,脚本中的函数在运行数组之前结束。 任何人都可以帮我吗?
<html>
<body>
<input type=checkbox id=verify_58>
<input type=checkbox id=verify_59>
<input type=checkbox id=verify_60>
<input type=checkbox id=verify_61>
<input type=checkbox id=verify_61>
<input type=checkbox id=verify_63>
<input type=checkbox id=verify_64>
<input type=checkbox id=verify_65>
<input type=checkbox id=verify_66>
<input type=checkbox id=verify_67>
<input type=checkbox id=verify_68>
<input type=checkbox id=verify_69>
<input type=checkbox id=verify_70>
<input type=checkbox id=verify_71>
<input type=checkbox id=verify_72>
<button onclick="verifyall('68~70~71~72~69~58~59~60~61~62~63~64~65~66~67')">Try it</button>
<script>
function verifyall(attid) {
var lstattid=attid.split("~");
var count = lstattid.length;
for(var i=0; i<count; i++){
alert(i+" of "+count);
var vname = "verify_" + lstattid[i];
if(document.getElementById(vname).disabled == false){
}
}
}
</script>
</body>
</html>
答案 0 :(得分:0)
当代码到达数组的第九个元素时,代码会崩溃。您的ID号列表中包含62
个值,但没有ID为verify_62
的复选框,因此此行:
if(document.getElementById(vname).disabled == false){
失败,出现以下错误:
Unable to get property 'disabled' of undefined or null reference
如果你在控制台中查看,你会看到这一点。
答案 1 :(得分:0)
您的脚本会引发错误:Uncaught TypeError: Cannot read property 'disabled' of null
因为,如果您查看复选框列表,则会看到有2个项目具有相同的ID verify_61
。
答案 2 :(得分:0)
你有61个重复,所以它试图寻找62。
如果你在名字上加上一个名字就更容易得到它们&#34;验证&#34;并使用document.getElementByName(&#39; verify&#39;)..它应该为您提供一个包含您想要迭代的所有内容的数组。
答案 3 :(得分:0)
您的代码尝试访问已禁用的属性&#39;具有id:'verify_62'
的元素,在DOM中不存在。
因此,document.getElementById('verify_62')
会返回'null'
。并且&#39; null&#39;没有财产&#39;禁用&#39;。
因此,请勿在参数中传递'62'
,或在HTML中添加id 'verify_62'
复选框。