У меня есть форма в модальном окне с использованием jquery.simpleModal. Поскольку simpleModal клонирует содержимое исходного div для создания модального диалога, мне нужно перестроить обработчики событий после создания модального диалога. Мой код выглядит примерно так:Обработчик события Javascript не работает
function showForm() {
$('div.contactUs').modal({
opacity: 80,
overlayClose: true,
autoResize: true
});
var container = $('.simplemodal-container');
container.find('li.phone input').mask('(999) 999-9999');
container.find('li.comments textarea').maxChar(1000, { indicator: 'div.commentLength span' });
container.find('form').submit(function() {
try {
var form = $(this);
var action = form.attr('action');
var data = form.serialize();
$.post(action, data, function (result) {
form.html(result);
showForm();
});
} catch (e) {
alert(e);
}
return false;
});
}
Однако, если я открыть модальное диалоговое окно, а затем закрыть его, а затем открыть его снова, кажется, что форма представить обработчик не подключен (открытие модальное диалоговое второй раз и нажав на отправку результатов в полноэкранном обратном обращении, а не на обработчике ajax). Я проверил, что другой материал получает ретрансляцию (маска ввода и максимальное ограничение символов), так почему же обработчик отправки не работает?
Это исправить, но я все еще удивляюсь, почему повторная попытка не сработала. Если кто-то может ответить, я дам им ответ. В противном случае я дам вам кредит. – Chris