<input name="title"...........>
<input name="content"...........>
<input name="name"...........>
<input name="isgood" id="isgood" type="radio" ...........>
<input name="id[]" id="id_1" type="radio" value="1">
<input name="id[]" id="id_2" type="radio" value="2">
<input name="id[]" id="id_3" type="radio" value="3">
<input name="id[]" id="id_4" type="radio" value="4">
<input name="id[]" id="id_5" type="radio" value="5">
<input name="id[]" id="id_6" type="radio" value="6">
<input name="submit" type="submit" value="1"><script type="text/javascript">
//现在的情况是我必须不通过表单名获取所有name为id[]的数组
var allid = document.getElementByName("id[]");
//我这样获取对吗?但是为什么获取不到。
//应该怎么写才正确?
alert(allid);
</script>

解决方案 »

  1.   


    var allid = document.getElementsByName("id[]");
    是不是少了一个s
      

  2.   

    是我临时打上去的时候的手误,我脚本里的是getElementsByName
      

  3.   

    for(var i=1;i<=6;i++){
      var allid = document.getElementById("id_"+i).value;
      alert(allid);
    }
      

  4.   

    既然是radio,name应该是一样的。
    来个:
    <form name="form">
    <input name="id" id="id_1" type="radio" value="1">
    <input name="id" id="id_2" type="radio" value="2">
    <input name="id" id="id_3" type="radio" value="3">
    <input name="id" id="id_4" type="radio" value="4">
    <input name="id" id="id_5" type="radio" value="5">
    <input name="id" id="id_6" type="radio" value="6">
    <input name="submit" type="submit" value="1">
    </form>
    <script type="text/javascript">
    var length  = form.id.length;
    for(var i=1;i<=length;i++){
      var allid = document.getElementById("id_"+i).value;
      alert(allid);
    }
    </script>
      

  5.   

    我去。忘记改了。这个是用的getElementById方法。
    也行吧。
      

  6.   

    那如果我不能通过表单的id和name来获取呢,也就是说我获取不到<form name="form">。。

    <input name="id" id="id_1" type="radio" value="1">
    <input name="id" id="id_2" type="radio" value="2">
    <input name="id" id="id_3" type="radio" value="3">
    <input name="id" id="id_4" type="radio" value="4">
    <input name="id" id="id_5" type="radio" value="5">
    <input name="id" id="id_6" type="radio" value="6">这一个又是不能确定就一定为6个,是动态变化的。这个时候我如何获取呢?
      

  7.   


    var allid = $(":radio[name='id[]']"); //这样得到的就是所有的name为id[]的radio元素的对象数组。
      

  8.   

    document.getElementsByName("id"),这不就获取到了么
      

  9.   

    或者你可以这样:    var array = document.getElementsByName("id");
        var tmp = "";
        for(var i = 0, len = array.length; i<len; i++){
            tmp += array[i].value;
        }
        alert(tmp);
      

  10.   

    var allid = document.getElementsByName("id[]");getElementByName --> getElementsByName,少个s
      

  11.   

    可这样一来,php通过post获取到的id不就只有一个值了吗?而不是一个数组了?
    还是跟我的需要有出入。。前面有个朋友说是通过jquery获取,我这个脚本是不能使用jquery的呀。
      

  12.   

    你是要取所有的单选按钮吧?var form = document.getElementsByTagName('form')[0];
    var inputs = form.getElementsByTagName('input');
    var array = [];
    for(var i in inputs){
    var elem = inputs[i];
    if(elem.type === "radio")
    array.push(elem.value);
    }
    alert(array);
      

  13.   


     var array = document.getElementsByName("id");
        var tmp = "";
        for(var i = 0, len = array.length; i<len; i++){
            tmp += array[i].value;
        }
        alert(tmp);
    这个不是通过js的么?
      

  14.   


    你意思是每个name都不同的吧?
    这样只能循环一下type为radio的input了var els = document.getElementsByTagName("input");

    var arr = [];
    for (var i = els.length; i--; ){
    var el = els[i];
    if (el.getAttribute("type") === "radio") {
    arr.push(el);
    }
    }

    //arr就是type为radio的元素