for(i=0;i<chkboxname.length;i++)
{
alert(chkboxname[i].checked == true);
}
当你的checkbox组只有一个时,这个会有点错误(他不当作数组处理),所以最好前面加一个无意义的同名checkbox,再循环里从1开始遍历。
另,name为什么取这么怪,会有问题。

解决方案 »

  1.   

    呵呵~~他这个应该是从一本PHP的书上学来的,说是这样做,在php中就可以用数组引用对象。
    l=documnet.getElementsByName("Q06[]")
    for(i=0;i<l.length;i++)
    {
    alert(l[i].checked == true);
    }
      

  2.   

    解决了。放出来:
    function checkchk(obj)
    {
        chked = false;
        for (i=0;i<obj.length;i++)
        {
            if (obj[i].checked)
            {
                chked = true;
                break;
            }
        }
        return chked;
    }function checkdata(obj)
    {
        var Q6 = document.getElementsByName('Q06[]');
        var Q7 = document.getElementsByName('Q07[]');
        if (obj.Company.value=="" || obj.Address.value=="" || obj.Name.value=="" || obj.Tel.value==""
            || !checkchk(obj.Q01) || !checkchk(obj.Q02) || !checkchk(obj.Q03) || obj.Q04.value==""
            || !checkchk(obj.Q05) || !checkchk(Q6) || !checkchk(Q7) || obj.Q08.value=="")
        {
            alert("请完成问卷内容后再提交,谢谢!");
            return false;
        }
    .............
    }
      

  3.   

    to: zhujjcn(WhoAmI)
    你的方法不行,我早试过了。
    name="Q06[]" 是因为提交到PHP里变成数据。
    问题就在这里,name="Q06"时可以,name="Q06[]"时就得用document.getElementsByName了