Как отправить динамически сгенерированную форму в AJAX? - PullRequest
0 голосов
/ 09 сентября 2011

У меня есть вызов AJAX, который динамически генерирует форму HTML. Эта форма содержит ряд элементов, включая входные данные, селекты, текстовые поля, флажки и т. Д.

Мне нужно написать некоторый javascript (доступен jquery), чтобы получить все поля в этой форме и отправить их в сценарий AJAX. Я не буду знать, сколько или какие поля есть (только основная идея), поскольку все зависит от того, что делает пользователь.

Есть идеи, как это сделать? Допустим, мою форму зовут «ajaxform»

Ответы [ 4 ]

4 голосов
/ 09 сентября 2011

Как все говорили, используйте jQuery serialize . Еще одно замечание - переопределить отправку формы (при необходимости) с помощью метода jQuery live: //Override form submit $("form").live("submit", function (event) { event.preventDefault(); var form = $(this); $.ajax({ url: form.attr('action'), // Get the action URL to send AJAX to type: "POST", data: form.serialize(), // get all form variables success: function(result){ // ... do your AJAX post result } }); });

2 голосов
/ 09 сентября 2011
var string_ready_to_be_posted = $("#formId").serialize();

http://api.jquery.com/serialize/

0 голосов
/ 09 сентября 2011

var string_ready_to_be_posted = $('form[name="ajaxform"]').serialize(); В качестве дополнения для использования NAME-селектора вместо идентификатора

0 голосов
/ 09 сентября 2011

Вы можете использовать jQuery's .serialize():

var data = $('#ajaxform').serialize();
var action = $('#ajaxform').attr('action');
$.post(action, data, function(data) {
 ...
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...