2

我需要一些帮助。我有一个带有一些输入的表格,他用 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 代码时也是如此。但是当我在做 $("form").append(...); ,一切都很好,但输入不在 div 中。谢谢你。:)

4

2 回答 2

2

首先,您插入表单的所有动态输入都将具有相同的名称,因此无法正常工作。您必须在名称末尾附加一个数字/字符串以区分每个输入数据。

这是一个供您结帐的小提琴,它表明表单元素确实包含动态创建的输入元素。http://jsfiddle.net/umuff/

更新:

发现你做错了什么

name\"test\" <=== 你忘记了 name 后面的等号

这是一个工作小提琴http://jsfiddle.net/umuff/1/

于 2012-06-07T20:46:58.270 回答
1

您的 div 应该在表单内。只需将表单的开始标记移动到 div 之前,将 /form 标记移动到 /div 之后。

如果这不起作用,则反过来:

<div id="...">
   <form>
   </form>
</div>
于 2012-06-07T19:28:43.947 回答