<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JS处理多选框</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="222.php">
  <p><input type="checkbox" name="tree_id[]" value="1" />我是1</p>
  <p><input type="checkbox" name="tree_id[]" value="2" />我是2</p>
  <p><input type="checkbox" name="tree_id[]" value="3" />我是3</p>
  <p><input type="checkbox" name="tree_id[]" value="4" />我是4</p> 
  <input type="submit" name="Submit"  value="提交" />
</form>
</body>
</html>在JS中关于遍历“checkbox”,如果没有选择单击“提交”,就提示“请选择要删除的项目”,如果选择就就能正常提交并且返还在222.PHP页面中,需要注意的是这里遍历的时候name="tree_id[],能用什么方法解决,大家告诉我下,谢谢
大家在做PHP批量删除的时候应该会遇到这个问题,如果遇到了怎么解决,大家告诉我下?歇息

解决方案 »

  1.   


    <script>
    function sendSubmit(){
    var d = document.form1.a;
    var t = false;
    var f = false;
    for(var i=0;i<d.length;i++){
        if (d[i].checked==false){
    t = false;
    }else{
    f = true;
    }
    }
    //alert(t||f)
    if (t||f==false){
    alert("请选择一项!")
    }else{
    document.form1.action="22.php"
    document.form1.submit();
    }
    }

    </script>
    </head>
    <body>
    <form id="form1" name="form1" method="post" action="" onsubmit="sendSubmit()">
      <p><input type="checkbox" name="a" value="1" />我是1</p>
      <p><input type="checkbox" name="a" value="2" />我是2</p>
      <p><input type="checkbox" name="a" value="3" />我是3</p>
      <p><input type="checkbox" name="a" value="4" />我是4</p> 
      <input type="submit" name="Submit" value="提交" />
    </form>
    </body>经测试 。name = tree_id[]不可取,跟数组[]重合。重新取名。
      

  2.   

     alert("请选择一项!") 后面还要加一个return false
      

  3.   

    <script>
        function sendSubmit(){
            var d = document.getElementsByTagName(input);
            var r=[];
            for(var i=0;i<d.length;i++){
                if (d[i].type=='checkbox' && d[i].checked){
               r.push(d[i].value);
                }
            }
            if(r.length==0){
    alert("错误");return false;
    }
    alert(r.join(","));
    return true;
        }
        
    </script>
      

  4.   

    <head>
    <script>
        function sendSubmit(){
            var d = document.form1.a;
            var t = false;
            for(var i=0;i<d.length;i++){
                if (d[i].checked==true){
                    t = true;
                }
            }
            if (!t){
             alert("请选择一项!");
                 return false;
            }
        }
        
    </script>
    </head>
    <body>
    <form id="form1" name="form1" method="post" action="222.php" onsubmit="return sendSubmit()">
      <p><input type="checkbox" name="a" value="1" />我是1</p>
      <p><input type="checkbox" name="a" value="2" />我是2</p>
      <p><input type="checkbox" name="a" value="3" />我是3</p>
      <p><input type="checkbox" name="a" value="4" />我是4</p> 
      <input type="submit" name="Submit" value="提交" />
    </form>
    </body>你不会要让name故意等于"tree_id[]"吧,这样你就在循环的时候才把name值设置成tree_id[]再提交,页面上好像不行
      

  5.   

    这个就体现出来jQuery的优势了