我有类似的东西
<form action="/insert" method="POST" class="form-horizontal" role="form">
<input type="text" class="form-control" name = "input_data"/>
<input type="text" class="hidden form-control" id = "hidden_template" name ="input_data"/>
<button type="button" class="add input">Add Input</button>
</form>
当用户点击带有类&#39;添加输入&#39;的按钮时,我使用hidden_template ID克隆隐藏的输入,然后删除隐藏在新元素上的类并将其附加到HTML。我在jQuery中这样做,效果很好。
但是,当我在新元素中输入文字然后提交表单时,它不会包含在POST中。
我是否需要做些什么来确保表单在其提交中包含新添加的输入?
答案 0 :(得分:0)
您的克隆元素与原始元素具有相同的名称,因此其值将替换POST中的原始元素。
将您的输入更改为:
<input type="text" class="hidden form-control" name ="input_data[]"/>
注意input_data[]
这将在服务器端创建一个数组,每个值都在其正确的索引中。
此外,ID必须是唯一的,因此您不希望在要克隆的元素上具有ID,否则所有克隆都将具有相同的ID,这将无效。
答案 1 :(得分:0)
您可以通过向form
添加input
属性来明确form
和input
代码之间的链接:
<input ... form="form-id">