У меня есть страница с несколькими 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() не восстанавливается. Надеюсь, это имеет смысл!
Пожалуйста, объясните вашу проблему еще раз, я не понимаю, что происходит не так из вашего описания. –
Вы имеете в виду, как получить доступ к данным на сервере или клиенте (javascript/jquery)? – Chibuzo
$ (this) .serializeArray(); не собирает данные формы. Так что formData ничего не имеет. –