我在PHP中有一组表单字段。我还添加了jQuery功能来克隆某些字段并将其添加到表单中。但是,在提交表单之后,仅提交原始字段,而不提交通过克隆添加的字段。
PHP
<form id="myForm" method="post" action"...">
<div class="row contRow">
<div class="col-md-5">
<input type="text" id="contactInputName['.$i.']" name="name['.$i.']" value="'.$output['0'].'" class="form-control" placeholder="Name">
</div>
<div class="col-md-6">
<input type="text" id="contactInputEmail['.$i.']" name="email['.$i.']" value="'.trim($output['1']).'" class="emlVal form-control">
</div>
<div class="col-md-1 text-right">
<span class="btn btn-default rmContact"><i class="fas fa-times fa-fw fa-lg text-danger"></i></span>
</div>
</div>
<div class="row">
<div class="col-md-12">
<span id="saveContacts" class="btn btn-success"><i class="fas fa-check fa-fw fa-lg"></i> Save Contacts</span>
<span id="addRow" class="btn btn-default"><i class="fas fa-plus-circle fa-fw fa-lg"></i> Add More</span>
</div>
</div>
</form>
JS
$(document).on("click", "#addRow", function() {
var lastRow = $("#addContactsForm").find(".contRow").last();
lastRow.clone().insertAfter(lastRow);
lastRow.find("input").val("");
});
$(document).on("click", "#saveContacts", function() {
$(this).closest("form").submit();
});
我想念什么?
答案 0 :(得分:2)
我会删除id="contactInputName['.$i.']"
和id="contactInputEmail['.$i.']"
,因为我看不到需要设置这些属性。
如果使用空键设置名称属性,则会为您生成递增的键。例如
name="name[]"
和
name="email[]"
这应该消除克隆时复制索引的问题。