У меня есть страница ввода пользователя, которая загружает различные формы с помощью ajax в зависимости от некоторых параметров, которые есть у пользователя.Я хочу сохранить данные форм также в AJAX, но он работает только с первой загруженной формой.Как только пользователь меняет параметры и загружает другую форму, изменение поведения формы, примененного с помощью jQuery, больше не работает.
Я полагаю, это происходит потому, что скрипт применяет новое поведение к форме, котораяв настоящее время на странице, но не для форм, которые загружаются позже, верно?
Я уже пытался инкапсулировать $ ('form'). submit () ... и т. д. в функцию и вызывать ее каждый разновая форма загружена, но она тоже не работает ...
Тогда, как я могу решить эту проблему?Это мой код (часть его):
function showFormUpdate(month, show) {
//actualiza el formulario por ajax
$('#showFormWrapper').fadeOut();
$.post("../inc/ajax-select-show.php", {month: month, show: show}, function(data){
$('#showFormWrapper').html(data);
whatIsActive ();
});
$('#showFormWrapper').fadeIn();
}
function showFormsend () {
$.post("../inc/ajax-saveshowform.php",
{
activeShow: $('input#activeShow').val(),
activeMonth: $('input#activeMonth').val(),
everyday: $('input#everyday').val(),
mon: $('input#mon').val(),
tue: $('input#tue').val(),
wed: $('input#wed').val(),
thu: $('input#thu').val(),
fri: $('input#fri').val(),
sat: $('input#sat').val(),
sun: $('input#sun').val()
}, function(data){
alert (data);
});
}
$(document).ready(function() {
$('a.changeForm').click(function(event){
event.preventDefault();
if ($(event.target).hasClass('changeShow')){
showFormUpdate($('input[name="activeMonth"]').val(), $(event.target).attr('show'));
}
if ($(event.target).hasClass('changeMonth')){
showFormUpdate($(event.target).attr('month'), $('input[name="activeShow"]').val());
}
});
//this is the part that changes the functionality of the form,
//but only works with the first loaded form
$('.showForm').submit(function(event){
showFormsend ();
return false;
})
});