Сериализация нескольких форм вместе? - PullRequest
41 голосов
/ 14 февраля 2012

Можете ли вы сериализовать несколько форм в одну, чтобы был сделан только один запрос post или ajax?Я искал вокруг, и это все для отправки каждой формы по отдельности через post / ajax.

Ответы [ 3 ]

129 голосов
/ 14 февраля 2012

Если вы запустите $('form').serialize() на странице с несколькими формами, она правильно сериализует все формы в одну строку.

Чтобы включить только определенные формы, используйте $('#form1, #form2').serialize()

26 голосов
/ 14 февраля 2012

Когда вы используете функцию jQuery serialize(), она просто превращает вашу форму в строку в формате a=1&b=2&c=3.Таким образом, вы, безусловно, можете применить эту функцию к двум формам и объединить результат с & между ними и использовать результат в вашем вызове ajax.Вам нужно несколько проверок, чтобы убедиться, что ни одна строка не пуста при выполнении конкатенации.

18 голосов
/ 20 мая 2012

Мне нравится ответ от Jleagle выше.

, если вы более конкретно о формах, используйте

$('#detailsform,#levelForm').serialize();

вышеприведенная строка вернет строковое значение. как customId=08071992&cort=01&empId=7777

вы можете избежать нежелательных полей, добавив атрибут disabled="disabled" к полям ввода, иначе говоря, «отключенные» поля не будут сериализованы.

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