其实一对一的对checkbox附加一个隐藏值
1-a   
2-b就是选择了1 就 提交A;选择了2就提交 B(checkbox按原样提交);
下面是不管选择了什么 都会提交 A B 该怎么改进?<form action="" method="post">
  <input type="checkbox" value=1 name="a[1]" />1   
  <input type="hidden" name='b[1]' value="a">
  <input type="checkbox" value=2 name="a[2]" />2
  <input type="hidden" name='b[2]' value="b">
  <input type="submit" value="submit" />
</form>

解决方案 »

  1.   

    这个跟javascript无关,你接收那边后台做个判断就行
      

  2.   

    <html>
     <head>
      <title> New Document </title>
    <script type="text/javascript">
    <!--
        function oc(obj){
            var dv = document.getElementById("dv");
            if(obj.value == "1" && obj.checked){
                alert('11111');
                dv.innerHTML = '<input type="hidden" name="b[1]" value="a">';
            }else{
                dv.innerHTML = '<input type="hidden" name="b[2]" value="b">';
            }
        }
    //-->
    </script>
     </head> <body>
      <form action="" method="post">
          <input type="checkbox" value=1 name="a[1]" onclick="oc(this)" />1  
          <input type="checkbox" value=2 name="a[2]" onclick="oc(this)" />2
          <input type="submit" value="submit" />
          <div id="dv" > </div>
      </form>
     </body>
    </html>
    单选是没有问题的 
    但是全选的话 数组B 只出现一个数值
      

  3.   

    正解.把选中的checkbox value用逗号隔开存在某个hidden里.后台获取hidden值就行了