我的复选框是以a[0],a[1],,,a[13]这样的形式命名的,在这种情况下,提交之后如何判断至少有一个是选中状态
我的代码是
<html>
<head>
<script language=javascript>
function checkvalid()
{
for(var i=0;i<2;i++)
{
if(document.frm.a[i].checked==true) {
alert('aaa');
return true;
}
}

alert('bbb');
return false;
}
</script>
</head>
<body>
<form method=post action='1.php' name=frm>
<input type=checkbox value='aaa' name=a[0]>aaa
<input type=checkbox value='aaa' name=a[1]>aaa
<input type=submit onclick="return checkvalid();"></form>
</body>
</html>
似乎在我加红的这句话上出问题了,我是新手,不知道这里面是否存在转义问题,想问一下该如何改正,我不想改变量名,因为想知道这样的情况下有没有解决的办法

解决方案 »

  1.   


    <html>
    <head>
    <script language=javascript>
    function checkvalid()
    {
    for(var i=0;i<2;i++)
    {if(document.frm["a["+i+"]"].checked) {
    alert('aaa'+i);
    return true;
    }
    }alert('bbb');
    return false;
    }
    </script>
    </head>
    <body>
    <form method=post action='1.php' name=frm>
    <input type=checkbox value='aaa' name='a[0]'>aaa
    <input type=checkbox value='aaa' name='a[1]'>aaa
    <input type=submit onclick="return checkvalid();"></form>
    </body>
    </html>
      

  2.   

    document.frm["a["+i+"]"].checked
    这样就可以了,但是楼主一般不要在name命名的时候name='a[1]' 不要包含特殊字符,名称a_1 或者a1就可以了
      

  3.   

    多谢各位了,分数平分,我也刚好找到答案
    http://www.zfsj.net/article.asp?id=86
    这篇文章写得不错,将来有人搜到这个帖子的话可以看一下