JQuery $ .post () отправляет несколько форм вместо одной - PullRequest
0 голосов
/ 11 мая 2011

У меня есть страница с несколькими формами на одной странице.У меня есть кнопка (вне всех форм), которую я хочу отправить только ОДНУ форму, но все данные формы передаются из всех форм.

$("#indiv_save").click( function() {
    alert($("#indiv_form").serialize());  // Shows only correct form
    $.post("/admin/update", $("#indiv_form").serialize(), function(data) {
        notify(data); // quick and easy feedback
    });
});

Вызов alert () показывает именно то, что я хочу отправить, но затем Firebug показывает поля, отправляемые из всех форм после .post (), даже если функция serialize () идентична.1004 *

Все формы имеют разные имена и идентификаторы элементов.

Что я делаю не так?

Ответы [ 3 ]

3 голосов
/ 11 мая 2011

Вы делаете ajax POST и возвращаетесь. В зависимости от вашей кнопки он будет пытаться отправить формы страницы. Что вам нужно сделать, это предотвратить действие по умолчанию:

 $('#indiv_save').click(function(e)
 {
      e.preventDefault();
      // Your Code Here
 });
1 голос
/ 11 мая 2011

Действие по умолчанию для вашей кнопки, вероятно, "отправить форму", и вы не препятствуете этому.

Возврат false из функции нажатия должен сделать это.

0 голосов
/ 11 мая 2011

Формы не могут быть внутри одного тега <form>, все они должны быть выделены в отдельные <form>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...