我需要一些帮助。 我有一个带有一些输入的表单,他用div排序。 我想在div中插入更多输入,所以我尝试做这样的事情 -
$(document).ready(function(){
$("#more").click(function(){
$("#div_name").append("<input type=\"text\" name\"test\" value=\"test\" />");
});
});
html是
<form action="" method="post" enctype="multipart/form-data" name="form_name">
<input type="text" name="text_input" value="test" />
<div id="div_name"></div>
<input type="button" id="more" value="Add more" />
</form>
它的工作原理并添加输入很棒,但是当我发送表单时,他不会发送jquery添加的输入,因为如果我要执行print_r($ _ POST);他会告诉我除了刚刚添加的所有帖子,所以输出将是
Array
(
[text_input] => test
)
当我使用上面的jQuery代码时。 但是当我做$(“形式”)时,追加(...); ,一切都很好,但输入不在div中。 谢谢。 :)
答案 0 :(得分:2)
首先,您在表单中插入的动态输入都将具有相同的名称,以便不起作用。您必须在名称的末尾附加一个数字/字符串,以区分每个输入数据。
这是一个小提琴,你可以结帐,它显示表单元素确实包含动态创建的输入元素。 http://jsfiddle.net/umuff/
更新:
发现你做错了什么
name \“test \”&lt; ===您忘记了姓名后的等号
这是一个工作小提琴http://jsfiddle.net/umuff/1/
答案 1 :(得分:1)
你的div应该在表格内。只需将表单的开始标记移动到div之前,将/ form标记移动到/ div。
之后如果这不起作用,请反过来:
<div id="...">
<form>
</form>
</div>