动态添加的输入未包含在

时间:2015-08-30 02:59:42

标签: jquery html forms

我有类似的东西

<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中。

我是否需要做些什么来确保表单在其提交中包含新添加的输入?

2 个答案:

答案 0 :(得分:0)

您的克隆元素与原始元素具有相同的名称,因此其值将替换POST中的原始元素。

将您的输入更改为:

<input type="text" class="hidden form-control" name ="input_data[]"/>

注意input_data[]这将在服务器端创建一个数组,每个值都在其正确的索引中。

此外,ID必须是唯一的,因此您不希望在要克隆的元素上具有ID,否则所有克隆都将具有相同的ID,这将无效。

答案 1 :(得分:0)

您可以通过向form添加input属性来明确forminput代码之间的链接:

<input ... form="form-id">