在网页的一个表单中有N多个下拉列表 以及 文本框
我想取出他们的value值,并且全部赋值给一个变量。有没有什么简便的写法可以一下就查出,而不用这样一个个的查呢?
var text;                                      //送货地址
text=document.getElementById("sheng").value+document.getElementById("cheng").value+document.getElementById"qu").value+document.getElementById          ("jie").value+document.getElementById("men").value;

解决方案 »

  1.   

    你可以把所有的控件都用同一个 name 例如:<input type="text" name="aname" id="sheng"><input type="text" name="aname" id="cheng">, 这样就可以用 document.getElementsByName("aname") 获取到控件数组,然后进行遍历就可以了。
      

  2.   

    不行啊
    我刚用了  但提示说不支持次属性:document.getElementsByName("aname")
      

  3.   

    用jQuery:
    var text = '';
    $('select,input[type=text],textarea').each(function() {
        text += (text == '' ? '' : ',') + $(this).val();
    });
      

  4.   

    <script>
    function chang(){     var text;                                      //送货地址
        text=document.setElementByName("a").value;
    alert("fsdfsfsa");
    alert(text);
        window.returnValue=text;
        close();}
    </script>
    </head><body>
    <table width="245" border="0" align="center" style="background-color:#FCF" >
      <tr>
        <td colspan="2" align="center">送货地址确认</td>
      </tr>
      <tr>
        <td width="87" style="text-align:right">省份:</td>
        <td width="142"><select name="a" >
          <option selected="selected" value="北京市">北京市</option>
          <option value="湖北省">湖北省</option>
          <option value="河南省">河南省</option>
        </select></td>
      </tr>
      <tr>
        <td style="text-align:right">城市:</td>
        <td><select name="a">
    <option selected="selected" value="郑州市">郑州市</option>
    <option value="南阳市">南阳市</option>
    </select></td>
      </tr>
      <tr>
        <td style="text-align:right">区:</td>
        <td><select name="a">
    <option selected="selected" value="西城区">西城区</option>
    <option value="西城区">西城区</option>
    </select></td>
      </tr>
      <tr>
        <td style="text-align:right">街道:</td>
        <td><input type="text" name="a" width="80px"/></td>
      </tr>
      <tr>
        <td style="text-align:right">门牌号:</td>
        <td><input type="text" name="a" width="80px"/></td>
      </tr>
      <tr>
        <td colspan="2" align="center"><input type="button" name="button" id="button" value="确认" onclick="chang()" /></td>
      </tr>
    </table>
      

  5.   

    上面的是源代码,不知道是不是你说的那样,但他老是对document.getElementsByName("a")这一句报错
      

  6.   

    3楼 你好
    我才开始学习JavaScript 你刚写的$('select,input[type=text],textarea').each(function() {
        text += (text == '' ? '' : ',') + $(this).val();
    });
    这句 能给我清楚的解释一下吗,我有点迷糊了,呵呵 不好意思啊
      

  7.   

    要有form把所有的表单项包括起来才行//id 表单ID
    function getFormData(id)
    {
    var _form = document.getElementById(id);
    var _element = _form.elements;
    var _arr = [];
    for(var i = 0; i < _element.length; i++)
    {
    var _type = _element[i].type.toLowerCase();
    if(_type != "submit" && _type != "button" && _type != "reset")
    {
    if((_type == "checkbox" || _type == "radio") && !(_element[i].checked))
    {
    continue;
    }
    _arr.push(_element[i].name + "=" + _element[i].value);
    }
    }
    return (_arr.join("&"))
    }结果:name1=value1&name2=value2&name3=value3...