有复选框1-300。当没有选择任何内容时,此JS函数会警告用户功能适用于前290个元素。例如,当选择项目291时,它会警告未选择任何内容。 document.checks.user.length即将发布到298,不知道为什么会这样。有什么建议?感谢。
function sub_delete() //Submit & Validation for delete
{
alert ( document.checks.user.length); 298?
for (i = 0; i < document.checks.user.length; i++) //for all check boxes
{
if (document.checks.elements[i].name == "user" && document.checks.elements[i].checked == true ) //otherwise elements also looks at radio buttons
{
document.checks.submit();
return 0;
}
}
//If we get here no delete was (true) selected
alert ( "Select Data to Delete" );
return 0;
}
答案 0 :(得分:1)
你没有看到你正在循环的同一件事。
for (i = 0; i < document.checks.user.length; i++) //for all check boxes
{
if (document.checks.user[i].name == "user" && document.checks.user[i].checked == true ) //otherwise elements also looks at radio buttons
{
document.checks.submit();
return 0;
}
}
尝试改为。
对于这么多元素,最好不要每次重新计算.length。
答案 1 :(得分:1)
您正在迭代document.checks.user的元素,但是您正在检查document.checks.elements [i]的名称和值('checked-ness')。