在提交表单前,必须选中一个checkbox,有多个checkbox,而且name属性都一样。
用if(!form.checkthis.checked){
alert("ddd");
}这样的话,如果只有一个checkbox没有问题,但是有多个同名的checkbox,就不行了,有没有什么办法?

解决方案 »

  1.   

    <html>  
      <head>  
      <script   language="javascript">  
      function   checkall()  
      {  
      for(var   i=0;i<document.form1.elements.length;i++)  
      {  
      e=document.form1.elements[i];  
      if(e.checked)  
      alert(e.value)  
      }  
      }  
      </script>  
      </head>  
      <body   bgcolor="pink">  
      <BR>  
      <form   name="form1">  
      <input   type="checkbox"   name="checkbox1"   value="1">1  --------如果你这的checkbox是一个list就直接把value替换成传进来的数组就行了,只要一行就ok了
      <input   type="checkbox"   name="checkbox1"   value="2">2  
      <input   type="checkbox"   name="checkbox1"   value="3">3  
      <input   type="checkbox"   name="checkbox1"   value="4">4  
      <input   type="checkbox"   name="checkbox1"   value="5">5  
      <BR><BR>  
      <input   type="button"   value="button"   onclick="checkall()">  
      </form>  
      </body>  
      </html>
      

  2.   

    就是我的表单在提交前,必须选其中一个checkbox,而且这些checkbox的name属性都是一样的,如果没选中,就提示,不能提交表单
      

  3.   

    document.getElementsByName("checkbox1").length
      

  4.   

    然后用for判断document.getElementsByName("checkbox1")[i].checked==true,然后alert怎么样
      

  5.   

    这里document.form1.checkbox1是一个数组.
    你可以用document.form1.checkbox1.length获得数组的长度
    用document.form1.checkbox1[i]获得数组中的某个元素的值
    ===="就是我的表单在提交前,必须选其中一个checkbox,而且这些checkbox的name属性都是一样的,如果没选中,就提示,不能提交表单"====
    你可以这样做:
    function submit1()
    {
     var length=document.form1.checkbox1;
     for(var i=0;i<length;i++)
      {
       if(document.form1.checkbox1[i].checked)
        {document.form1.submit();
         return ;
         }
       }
    }