<form id="form1" name="form1" onsubmit="return checkForm(this)">
<input type="checkbox" id="idarr[]" name="idarr[]" value="1">
<input type="checkbox" id="idarr[]" name="idarr[]" value="3">
<input type="checkbox" id="idarr[]" name="idarr[]" value="8">
<input tyepe="submit" id="submit" name="submit" value="提交">
</form><script type="text/javascript">
function checkForm(obj){
  //alert(obj.idarr); 这样不行
  //alert(obj.idarr.value); 这样不行
  //alert(obj.idarr[].value); 这样不行
}
</script>
如何用js获取idarr数组?因为我获取到以后想遍历他,然后判断该项是不是checked

解决方案 »

  1.   

    首先 input typepe 这里写错了 其次用jquery可能更简单点<form id="form1" name="form1" onsubmit="return checkForm()">
    <input type="checkbox" id="idarr[]" name="idarr[]" value="1">
    <input
    type="checkbox" id="idarr[]" name="idarr[]" value="3">
    <input
    type="checkbox" id="idarr[]" name="idarr[]" value="8">
    <input
    type="submit" id="submit" name="submit" value="提交">
    </form>
    <script type="text/javascript">
    function checkForm() {
    var l = document.getElementsByTagName('input');
    for( i = 0; i < l.length; i++) {
    if((l[i].id == 'idarr[]')&&
    (l[i].type = "checkbox"))
    {
    alert('yes');
    }
    }
    }
    </script>
      

  2.   

    /*
    1.id值必须唯一
    2.保存到一个数组可以这样,但一般是不需要的,直接在遍历inputs数组时进行判断即可
    */
    function checkForm(obj) {
    var inputs = obj.getElementsByTagName('input');
    var ar = new Array();
    for(var i = 0; i < inputs.length; i ++) if (inputs[i].name == 'idarr[]') ar.push(inputs[i]);
    alert(ar.length);
    return false;
    }
      

  3.   

    同意楼上的,用数组命名ID,很奇怪的做法。
    最好的方法,就是再读取数组时,用类似楼上的方法,就给ID编号,如idarr1,idarr2,idarr3....相同的ID,会造成混乱。
      

  4.   

    id要唯一,不要写成数组。function checkForm(obj) {
    var ls =document.getElementsByName('idarr[]');
         for( i = 0; i < ls.length; i++) {
                 alert(ls[i].value);     }
    }
      

  5.   

    你这个给我指点了思路,谢谢。
    不过,那不是把input submit这个也计算进来了,如果form中含有多个input,那不是做了很多无用功。
      

  6.   

    其实id 写成数组没意义吧?你传递出去也应该是name是数组才对.
    至于id 重复.我以前也经常干...没碰上太多的麻烦,所以也就忘记有这么回事了
      

  7.   


    var ls = obj.getElementsByName('idarr[]');
    alert(ls.length);
    貌似js不认识。
      

  8.   

    (l[i].type == "checkbox")) fixed.