У меня есть модальное окно, которое позволяет пользователям отправлять форму как один из вызовов к действию. Однако нажатие «Отправить» закрывает модальное окно, но я не хочу этого. Here is the page: infowest.com/residential-internet.Нажав «Отправить» в форме, закрывает модальное окно
Чтобы активировать модальное окно, пользователь нажимает желто-оранжевую кнопку «Начать» на любой из «карт» интернет-опций. Затем, чтобы заполнить и отправить форму, пользователь нажимает кнопку «Запросить обратный вызов». На самом деле, найдите, щелкнув «В любое время», кнопка «Запросить обратный вызов» закрывает модальное окно, а не просто нажимает кнопку «Отправить».
Я попытался с помощью этого кода:
if ($(event.target).is('.modal-window-content')) {
return false;
}
if ($(event.target).is('input')) {
return false;
}
держать модальный от закрытия, который работал, но не позволяет форма представить или даже попытаться представить. Форма использует Ajax. Это плагин WP Contact Form 7.
Я использую jQuery, который я только что придумываю, но я никогда не преподавал jQuery, поэтому я предполагаю, что делаю ошибки в js-коде. Вот мой код:
var pagePosition;
$('.js--activate-cta-modal').click(function() {
if ((!$(this).hasClass('.active')) && (!$('body').hasClass('modal-active'))) {
pagePosition = $(window).scrollTop();
$('.cta-modal-window').css("margin-top", pagePosition);
$(this).addClass("active");
$('body').addClass("modal-active");
$('body').css("top", -pagePosition);
return false;
}
if($(this).hasClass('active')) {
$(this).removeClass('active');
$('body').removeClass('modal-active')
$('body').css("top", "0");
$('body').scrollTop(pagePosition);
}
});
$('.js--activate-cta-modal').click(function (e) {
e.stopPropagation();
});
$('.modal-overlay').click(function() {
$('body').removeClass('modal-active');
$('.js--activate-cta-modal').removeClass('active');
$('body').css("top", "0");
$('body').scrollTop(pagePosition);
});
$('.cta-modal-window').click(function() {
// if ($(event.target).is('.modal-window-content')) {
// return false;
// }
// if ($(event.target).is('input')) {
// return false;
// }
$('body').removeClass('modal-active');
$('.js--activate-cta-modal').removeClass('active');
$('body').css("top", "0");
$('body').scrollTop(pagePosition);
});
$('.close-modal-window').click(function() {
$('body').removeClass('modal-active');
$('.js--activate-cta-modal').removeClass('active');
$('body').css("top", "0");
$('body').scrollTop(pagePosition);
});
Я очень ценю любую помощь! Спасибо!
Я думаю, я не упомянул, что для меня очень важно, чтобы внешняя область, которая затемнялась модальным наложением, можно щелкнуть, чтобы закрыть окно. Вот почему я добавил этот бит кода. Удаление, которое решает проблему почти каждого щелчка, закрывает модальное окно. Я пытаюсь понять, как поддерживать функции UX так, как они мне нужны. – Dallan