因为你是form.elements.length
我想如果你要是只选一组,建议用层来控制~!
<div id="aa">
</div>
<div id="bb">
</div>
这样的话,就不会混了~

解决方案 »

  1.   

    <fieldset>
    <legend>表单1</legend>
    <form name="form1">
    <input type="checkbox" name="a"/>A
    <input type="checkbox" name="a"/>B
    <input type="checkbox" name="a"/>C
    <input type="checkbox" name="a"/>D<br/>
    <input type="checkbox" name="s" onclick="selectAll('a')"/>全选
    <input type="checkbox" name="d" onclick="unSelect('a')"/>反选
    </form>
    </fieldset><fieldset>
    <legend>表单2</legend>
    <form name="form2">
    <input type="checkbox" name="b"/>A
    <input type="checkbox" name="b"/>B
    <input type="checkbox" name="b"/>C
    <input type="checkbox" name="b"/>D<br/>
    <input type="checkbox" name="s" onclick="selectAll('b')"/>全选
    <input type="checkbox" name="d" onclick="unSelect('b')"/>反选
    </form>
    </fieldset>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var selected = false;
    function selectAll(n)
    {
    var cbs = document.getElementsByName(n);
    for(i=0;i<cbs.length;i++)
    {
    cbs[i].checked = !selected;
    }
    selected = !selected;
    }
    function unSelect(n)
    {
    var cbs = document.getElementsByName(n);
    for(i=0;i<cbs.length;i++)
    {
    cbs[i].checked = !cbs[i].checked;
    }
    }//-->
    </SCRIPT>
      

  2.   

    <form>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox><input name="w" type="button" id="w" onClick="return alls(this.form)" value="&Egrave;&laquo;&Ntilde;&iexcl;">
    <input name="m" type="button" id="m" onClick="return other(this.form)" value="·&acute;&Ntilde;&iexcl;">
    </form>
    <br/>
    <form>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox>
    <input type=checkbox><input name="w" type="button" id="w" onClick="return alls(this.form)" value="&Egrave;&laquo;&Ntilde;&iexcl;">
    <input name="m" type="button" id="m" onClick="return other(this.form)" value="·&acute;&Ntilde;&iexcl;">
    </form><script>
    function other(form)
    {
    for (var i=0;i<form.elements.length;i++)
    {
    var e = form.elements[i];
    if (e.checked==false)
    {
    e.checked = true;
    }
    else
    {
    e.checked = false;
    }
    }return false;
    }function alls(form)
    {
    for (var i=0;i<form.elements.length;i++)
    {
    var e = form.elements[i];
            e.checked = true;
    } return false;
    }
    </script>好象没问题呀
      

  3.   

    最大的问题在于你用了“form”做变量名,这样是不正确的,换一个名字应该就不会出错了