2011-12-23 3 views
2

У меня есть страница с несколькими html-формами. Ниже приведен код jquery для отправки форм через вызов ajax. Он делает вызов ajax, когда любая форма в содержимое div div отправлено.Он запускается даже после того, как форма перезагружается через ajax.Я не могу понять, как передать данные формы функции обработчика.Какая помощь была бы принята с благодарностью.Форма Jquery Ajax с использованием .on ("submit",

Чтобы уточнить: var formData = $ (это) .serializeArray(); не работает FormData не получает значения из формы fileds

$.ajaxSetup({ 
    url: "ajax.php", 
    type: 'POST', 
    contentType: "application/json; charset=utf-8", 
    datatype: 'json', 
    cache: false, 
    timeout : 5000 
}); 
$("#content").on("submit", function(e) { 
    e.preventDefault(); 
    var formData = $(this).serializeArray(); 
    $.ajax({ 
    data: formData, 
    success: function(jsonData) { 
     htmlData = jQuery.parseJSON(jsonData); 
     $.each(htmlData, function(id, data){ 
      $("#"+id).html(data); 
     }); 
    } 
}); 
}; 

ОБНОВЛЕНИЕ:

01..

Если я изменяю

$("#content").on("submit", function(e) 

в

$("#content").on("submit", "form", function(e) 

данные формы сериализации и функция Ajax работает как задумано. Новая проблема заключается в том, что если форма не является полной и перезагружается (через ajax) в подразделение контента, событие submit больше не запускает функцию. Я пытался настроить .on(), чтобы использовать способ .live() в ранних версиях jquery. Он перезагрузит событие отправки после перезагрузки ajax. В этом случае .on() не восстанавливается. Надеюсь, это имеет смысл!

+0

Пожалуйста, объясните вашу проблему еще раз, я не понимаю, что происходит не так из вашего описания. –

+0

Вы имеете в виду, как получить доступ к данным на сервере или клиенте (javascript/jquery)? – Chibuzo

+0

$ (this) .serializeArray(); не собирает данные формы. Так что formData ничего не имеет. –

ответ

-1

Вам необходимо получить переданные переменные в ajax.php через глобальные глобальные значения $ _POST.

Например:

$myVar = $_POST['field_name'];

+0

Это не проблема. Функция ajax не получает данные формы для отправки на сервер. –

Смежные вопросы