【急】js动态增加了表单元素,但php代码中得不到

【急!求救!!!】js动态增加了表单元素,但php代码中得不到!
页面让用户填一些信息,因为数目不定,所以做了一个按钮,点一下就给table增加一行,input的名称使用name[]的形式,但提交后在php代码中得不到js增加的内容,name[]的内容只有一个,就是一开始写在页面中的那一行。
下面是代码

    var newTr = document.createElement("tr");
    var element = document.getElementById("addTable");
    newTr.className = "shop_tr";
    //element.appendChild(newTr);
    //document.formCart.insertBefore(newTr, before);
    var frm = document.getElementById("formCart");
    var before = document.getElementById("addBefore");
    var parinte = before.parentNode;
    alert(parinte);
    parinte.insertBefore(newTr, before);

    //可行的写法,但页面位置就错乱了,因为没有被插入到table
    document.formCart.insertBefore(nod);

    var newTd0 = newTr.insertCell(0);
    newTd0.innerHTML = '<input type="text" name="nogood_name[]" size="30" value="" />';
    newTd0.className = "bacling_bottom bacling";
    
    var newTd1 = newTr.insertCell(1);
    newTd1.innerHTML = '<input type="text" name="nogood_number[]" value="" />';
    newTd1.className = "bacling_bottom bacling";
    
    var newTd2 = newTr.insertCell(2);
    newTd2.innerHTML = '<input type="text" name="nogood_guige[]" value="" />';
    newTd2.className = "bacling_bottom bacling";
    
    var newTd3 = newTr.insertCell(3);
    newTd3.innerHTML = '<input type="text" name="nogood_price[]" value="" />';
    newTd3.className = "bacling_bottom bacling";

    var newTd4 = newTr.insertCell(4);
    newTd4.innerHTML = '&nbsp;<input type="hidden" name="nogood_recid[]" value="0" />';
    newTd4.className = "bacling_bottom bacling";

我已经换了几种形式去插入tr,但插入的内容在php代码都得不到。

var_dump($_POST);

我在php中直接输出post中的内容,不做任何处理,打印出来的name数组只有一个元素,点击按钮增加的tr中的内容都是没有。因此猜测是js插入的input元素没有被form识别到,因此提交的时候根本没有提交这些内容!
求解这个问题!
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

因为你是 动态追加的 所以取不到东西

那请指点下,这种需求还有什么办法实现?



使用服务端方式获取 是无法拿到东西的  你只能submit到服务端 你可以提交当前页 然后在做处理 试试


你可以单独开个页面 做个测试 动态用JS给页面增加一个input 用服务端的方式输出做个input看看 能不能拿到
------解决思路----------------------

<html>
  <head>
    <script type="text/javascript">
    function addrow(){
      var tab=document.getElementById('cartTable');
      var tr=tab.insertRow();
      var td=tr.insertCell();
      td.innerHTML="<input name='name["+tab.rows.length+"]' value='raw"+tab.rows.length+"'>"
    }
      </script>
    </head>
    <body>
     <form>
        <table id='cartTable'>
            <tr><td><input name='name[0]' value='raw'></td></tr>
         </table>
        <input type='button'  value='add row' onclick='javascript:addrow()'>
        <input type='submit'>
      </form>
     </body>
</html>


【急】js动态增加了表单元素,但php代码中得不到
------解决思路----------------------
input的type是text的可以获取数组吗?
你这个还是用另外一个hidden来传你的name然后在服务器上解析出来比较好

<div id='textcollection'>
<input type='text' name='add1'/>
<input type='text' name='add2'/>
<input type='hidden' value='1
------解决思路----------------------
2'/>
</div>

------解决思路----------------------
没看出什么问题,用firebug或者chrome开发人员工具看下动态添加的行在表单里面没有。。
------解决思路----------------------
用firebug看下你添加后的元素只要元素是在你表单里面,且最后没有覆盖那php后台是肯定会有的
仔细看看,看你这描述应该是动态添加的不在form里面