克隆表单输入行未提交到POST

时间:2013-01-14 18:55:08

标签: jquery html dom

我有以下jQuery代码:

$('#btnAdd').click(function() {
var i = ($('#stuff >tbody >tr').length)+1;
$('#stuff >tbody >tr:last').clone(true).find("input,select").each(function(){
$(this).attr({
'name': function(_, name){
   return name + i;
},
'value': ''
});}).end().insertAfter('#stuff >tbody>tr:last').show();

产生以下DOM:

<tr>
<td class="td_6">
<select name="name1">
<option selected="" value="Bricklayers">Bricklayers</option>
<option value="Sheet Metal Workers">Sheet Metal Workers</option>
<option value="Sprinkler Fitters">Sprinkler Fitters</option>
</select>
<td>
<td class="td_6">
<input name="V_union" value="1" type="radio">Yes<input name="V_union" value="0" type="radio" checked="checked">No
</td>
<td class="td_6">
<input name="V_picketed" value="1" type="radio">Yes<input name="V_picketed" value="0" type="radio" checked="checked">No
</td>
<td>
</td>
</tr>

<tr style="">
<td class="td_6">
<select name="name13" value="">
<option selected="" value="Bricklayers">Bricklayers</option>
<option value="Sheet Metal Workers">Sheet Metal Workers</option>
<option value="Sprinkler Fitters">Sprinkler Fitters</option>
</select>
</td>
<td class="td_6">
<input name="V_union3" value="" type="radio">Yes<input name="V_union3" value="" type="radio" checked="checked">No
</td>
<td class="td_6">
<input name="V_picketed3" value="" type="radio">Yes<input name="V_picketed3" value="" type="radio" checked="checked">No
</td>
<td>
</td>
</tr>

这是表格标签:

<form method="post" action="view_job.php" name="updateViolations" enctype="multipart/form-data">

动态输入的行位于标记内。

当我在$ _POST上执行var_dump时,我没有在$ _POST变量中看到新的动态生成的表单输入。

我已经检查了其他几个问题,看来我做的一切都很正确,但我迷路了。

2 个答案:

答案 0 :(得分:2)

感谢所有提交的内容。原来这是一个简单的解决方案。

https://stackoverflow.com/a/3687359/983061

再次感谢。

答案 1 :(得分:1)

看起来有一些重复的id属性。 id每页只能使用一次。

您可以考虑将id更改为classclasses每页可多次使用)。

重复:clonedInputtd_6_leftcheck1check13