这么使用checkbox并不是最好的办法。
建议如下方式使用:
<script>
function checkall(name){
var o=document.getElementsByName(name);
for(var i=0;i<o.length;i++) if(o[i].type=="checkbox"&&o[i].checked)return 1;
        return 0;
}
</script>
<body> 
Section A: <br /> 
No1 <input name="a" type="checkbox" value="a1" /> 
No2 <input name="a" type="checkbox" value="a2" /> 
<br>Section B: <br> 
No3 <input name="b" type="checkbox" value="b1" /> 
No4 <input name="b" type="checkbox" value="b2" /> 
No5 <input name="b" type="checkbox" value="b3" /> 
<input type="button" onclick="alert(checkall('a')&&checkall('b'))" value="check" /> 
</body> 

解决方案 »

  1.   

    因为每个checkbox对应一个数据库字段,所以name不能相同的有没有其他办法呢比如通过div圈出不同区域?。,
      

  2.   

    你可以吧名字弄成数组啊  ,name="func[]",然后在传过去,在另外的页面获取就行了  
      然后根据数据里面的元素取出来不就行了
      

  3.   

    搞定了用div圈出来就可以了。。var   all=document.getElementById(“div1”)  
          var   checks=all.getElementsByTagName("input");  
       var j=0;
          for(var   i=0;i<checks.length;i++)  
          {    
            if(checks[i].type=='checkbox' || checks[i].type=='radio')  
     {
       if(checks[i].checked==true)
           j++;
     } 
          }   
    if(j==0)
    alert("You must select a checkbox");
      

  4.   

        <div>
            Section A:
            <br />
            <div id="Div1">
                No1
                <input name="a" type="checkbox" value="12" />
                No2
                <input name="b" type="checkbox" value="12" /></div>
            <div id="Div2">
                <br>
                Section B:
                <br>
                No3
                <input name="c" type="checkbox" value="12" />
                No4
                <input name="d" type="checkbox" value="12" />
                No5
                <input name="e" type="checkbox" value="12" /></div>
            <input type="button" onclick="checkall()" value="check" />
        </div> function checkall()
        {
          var pass1=false;
          var pass2=false;
          var div1=document.getElementById('Div1');
          var div2=document.getElementById('Div2');
          var arrcb=div1.getElementsByTagName('input');
          for(var i=0;i<arrcb.length;i++)
          {
            if(arrcb[i].checked) {pass1=true;break;}
          }
          arrcb=div2.getElementsByTagName('input');
          for(var i=0;i<arrcb.length;i++)
          {
            if(arrcb[i].checked) {pass2=true;break;}
          }
          
          if(!pass1) alert('第1组最少要选中一个哦');
          if(!pass2) alert('第2组最少要选中一个哦');
          
          if(pass1&&pass2) alert('没问题,达到要求了');
        }    
      

  5.   

    奇怪。。为何测试html可以但jsp上就不可以了同样的代码。。