Вставьте ввод в div jQuery

Мне нужна помощь. У меня есть форма с некоторыми входами, и он отсортирован по 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. Спасибо.:)

2 ответа

Прежде всего, динамические входные данные, которые вы вставляете в форму, будут иметь одинаковое имя, поэтому они не будут работать. Вам нужно будет либо добавить число / строку в конец имени, чтобы дифференцировать все входные данные.

Вот скрипка для вас, чтобы проверить, и это показывает, что элемент формы содержит динамически созданные входные элементы. http://jsfiddle.net/umuff/

ОБНОВИТЬ:

Нашел, что ты делаешь неправильно

имя \"тест \" <=== Вы забыли знак равенства после имени

вот рабочая скрипка http://jsfiddle.net/umuff/1/

Ваш div должен быть внутри формы. просто переместите начальный тег формы до div, а тег /form после /div.

если это не работает, сделайте это наоборот:

<div id="...">
   <form>
   </form>
</div>
Другие вопросы по тегам