我将代码更改为以下内容:
$(document).ready(function () {
$('#add').on('click', function () {
var $contacts = $(".contact");
$("<div/>").append($("<input>", {
"type": "text",
"name": "contact[" + $contacts.length + "][name]"
})).insertAfter($contacts.last());
});
});
<div class="contact">
Name: <input type="contact[0][name] type="text">
</div>
<div class="contact">
Name: <input type="contact[1][name] type="text">
</div>
<div class="contact">
Name: <input type="contact[2][name] type="text">
</div>
这有效,并允许我添加另一行。但是,我在两件事上需要帮助:
1)当我添加另一行并点击提交时。$_POST 数组只显示前三个值,而不是动态添加的数组。
2)如何在附加的 html 中添加更多文本?它只显示输入框,而不是它前面的“名称:”。
谢谢!
这就是 print_r($_POST) 返回的内容(我还有其他表单字段):
Post:
Array
(
[custsubmit] => Submit
[contact] => Array
(
[0] => Array
(
[id] =>
[name] => name1
)
[1] => Array
(
[id] =>
[name] => name2
)
[2] => Array
(
[id] =>
[name] => name3
)
)
)