由于我这个页面有多个input输入框,所以用下面这种取值方法,存到隐藏域里,取隐藏域的值,就把这个页面里所有的input输入框的值都取出来了
请教下这里有别的方式来取值吗?高手帮忙解答下
var st1 = "";
var TRI = 0;//记录table的总行数 var num = 0;
function AddRow(ob)
//___________增加一行
{
    num++;
    var SetName = "woods" + num;
    var newTR = ob.insertRow(TRI);    newTD = document.createElement("td");
    newTD.innerHTML = '<input type="text" name="name_' + SetName + '" class="text01b">';
    newTR.appendChild(newTD); 
   
    var txtlist = document.getElementsByTagName("input"); 
              var names = ""; 
for(var i=0;i <txtlist.length;i++){ 
   names+=txtlist[i].value+","; //把value值组合,并以','分割 

//将所有的name值放入隐藏域(id=arryName,name=arryName) 
document.getElementById("arryName").value=names;
}<table border="0" id="st" width="770">
<tr>
    <td>
      <input type="hidden" name="arryName" id="arryName"/>
                 <input type="text" name="file_array[]" class="text01b">
    </td>
</tr>
</table>

解决方案 »

  1.   

    Request.Form[name]获取 值把text 的name 都设置一样,看是否能获取 
      

  2.   

    jsp 的话 用request.getParameter(name)
      

  3.   

    我这里是动态添加行,用request.getParameter(name)也能取吗?
      

  4.   

    只能这样了,可以参考下:http://blog.csdn.net/sohighthesky/archive/2009/10/15/4677187.aspx要不你用ajax提交
      

  5.   

    这个只能得到一个name吧,如果多个应该没办法 了,jsp只能用ajax了
      

  6.   


    看样子楼主是JAVA的
    如果input的name都相同的话 用
    String langtype[]=request.getParameterValues("***"); 
    这样获得就是对应name 值数组
      

  7.   

    由于我这个页面除了这里动态添加的多个input外,还有别的input输入框
    我现在只要取到动态添加的多个input输入框的值就可以了
    就是不知道怎么取这里动态添加的多个input输入框的值啊?????????
    上面我粘贴的方法把这个页面所有的input的值都取出来了
    求解答啊
      

  8.   

    既然 这样,你就只将指定的input的值 放到hidden里啊
      

  9.   


    那你的意思 应该就这样 你动态生成input框的时候 都给一个相同的名字 比如 name='inputName'然后在后台直接
    String[] name = request.getParameterValues('inputName');
    然后后台 for(String val in name) 就可以了
      

  10.   


    晕 前后台都混了 呵呵 
    在后台用
    for(String val: name){}
      

  11.   

    to Sandy945:
       你说的方法经测试,只能取到<input type="text" name="file_array[]" class="text01b">的值,不能取到我动态添加的输入框的值
      

  12.   

    不是告诉你了么  新增的text 设置同样的name
      

  13.   

    你改完后 生成的html 是什么样的通过源文件查看
      

  14.   

    to Click_Me:
        汗,你和Sandy945说的方式一样,所以我就只回了以个,不好意思啊
    55555555,问题还没解决呀。。
      

  15.   

    你现在代码怎么写的还有生成的html 代码是怎样的
      

  16.   


    function AddRow(ob)
    //___________增加一行
    {
        num++;
        //var SetName = "woods" + num;
        var newTR = ob.insertRow(TRI);    newTD = document.createElement("td");
        newTD.innerHTML = '<input type="text" name="file_array" class="text01b">';
        newTR.appendChild(newTD); 
       
        var txtlist = document.getElementsByTagName("input"); 
         var names = ""; 
    for(var i=0;i <txtlist.length;i++){ 
       names+=txtlist[i].value+","; //把value值组合,并以','分割 

    //将所有的name值放入隐藏域(id=arryName,name=arryName) 
    document.getElementById("arryName").value=names;
    }
    <table border="0" id="st" width="770">
            <tr>
                   <td>
                        <input type="hidden" name="arryName" id="arryName"/>
                                <input type="text" name="file_array" class="text01b">
                   </td>
            </tr>
            </table>这就是源文件里的
    String vote_item=convertChinese(request.getParameter("file_array"));
    这句是取值
      

  17.   

    怎么可能不好用呢 ~ 如果还不好用你可以在提交的时候 执行一个js 函数把var txtlist = document.getElementsByTagName("input"); 
            var names = ""; 
            for(var i=0;i <txtlist.length;i++){ 
                  names+=txtlist[i].value+","; //把value值组合,并以','分割 
            } 
            //将所有的name值放入隐藏域(id=arryName,name=arryName) 
            document.getElementById("arryName").value=names;换成var txtlist = document.getElementsByName("file_array"); 
            var names = ""; 
            for(var i=0;i <txtlist.length;i++){ 
                  names+=txtlist[i].value+","; //把value值组合,并以','分割 
            } 
            //将所有的name值放入隐藏域(id=arryName,name=arryName) 
            document.getElementById("arryName").value=names;这样 就是你新增的input 的内容了