Как отличить значения формы в дублирующих формах с помощью AJAX (jQuery) - PullRequest
0 голосов
/ 19 января 2010

У меня есть страница, которая содержит несколько форм, которые идентичны по всей странице.Я отправляю эти формы, используя метод $ .ajax ().

Как я вижу, использование классов для идентификации / отправки / проверки отдельных форм, вероятно, будет проблематичным.Передача формы с чем-то вроде $('.someForms').serialize() не даст жизнеспособных результатов.Как бы .serialize() выбрать правильную форму?

Даже если .serialize () будет работать, я не уверен, как применить какие-либо предложения по проверке формы к конкретным полям ...

Другой вариант, который я вижу, это кодкаждая форма.

Пример: $('#thisForm').serialize();

Мне любопытно, как вы, гуру jQuery, обращаетесь с несколькими формами, подобными этим?

Ответы [ 2 ]

2 голосов
/ 19 января 2010

Есть много способов выбора форм. Вы можете выбрать их по индексу:

$("form:eq(0)").serialize(); // serialize first form on page
$("form:eq(3)").serialize(); // serialize fourth form on page

Вы можете выбрать их, сначала пройдя через их уникального ребенка:

$(":input[name='uniqueChild']").closest("form").serialize(); // serialize holder

Вы можете выбрать их, направив их через уникального родителя:

$("#userDetails form").serialize(); // serialize form within DIV#userDetails

Хотя существует множество других способов прямого доступа к формам, я должен сказать, что если вам нужно использовать какой-либо из этих вышеупомянутых методов, вам, вероятно, нужно немного переосмыслить свой код.

1 голос
/ 19 января 2010

Одним из тегов в этом вопросе была «проверка».Означает ли это, что вы используете проверку jquery перед отправкой форм?

Если да, то опция submitHandler при проверке передаст объект формы функции-обработчику.Вы должны быть в состоянии избежать поиска того, какой элемент передается через этот обратный вызов.

$('form').validate({
     ...

     submitHandler: function(form) {
         $.ajax(
              url,
              $(form).serialize(),
              ...
         );
     },

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