Javascript复选框验证和长度

时间:2009-02-05 22:47:52

标签: javascript validation dom

有复选框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; 
}

2 个答案:

答案 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')。