php - 未提交的附加字段值
问题描述
我在 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();
});
我错过了什么?
解决方案
我会删除id="contactInputName['.$i.']"
,id="contactInputEmail['.$i.']"
因为我认为不需要设置这些属性。
如果您使用空键设置名称属性,则会为您生成递增的键。例如
name="name[]"
和
name="email[]"
这应该可以消除克隆时复制索引的问题。
推荐阅读
- javascript - xlsx文件在本机反应中转换为pdf?
- matlab - For 循环从 Datastore 中选择文件
- unity3d - 自定义 onClick 列表
- css - 媒体查询在手机上不起作用,但在调整浏览器窗口大小时会起作用
- node.js - 工作目录/当前目录的 Nodejs.npmrc 跨平台语法
- java - 使用 node.js 或 java 将 docx 转换为 html 并捕获所有样式,
- python - 使用相同的列名和类别 Python/Seaborn 绘制不同的预测
- javascript - 检查 Quickbooks 文件是否已损坏
- flutter - 升级到 4.0.0-nullsaftey 后用于空值的空值检查运算符
- javascript - Firestore 数组包含多个值的任意值