将输入插入div jQuery

时间:2012-06-07 19:24:22

标签: jquery forms html input append

我需要一些帮助。 我有一个带有一些输入的表单,他用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中。 谢谢。 :)

2 个答案:

答案 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>