我有一個模式窗口,允許用戶將表單作爲一個號召性用語提交。然而,點擊'提交'關閉模式窗口,但我不希望它。 Here is the page: infowest.com/residential-internet。單擊表單上的「提交」關閉模式窗口
要激活模式窗口,用戶在Internet選項的任意「卡片」上單擊黃橙色的「開始」按鈕。然後填寫並提交表格,用戶點擊「請求回電」按鈕。其實,來找到,點擊ANYWHERE接受「請求回調」按鈕關閉模式窗口,而不只是點擊'提交'按鈕。
我嘗試使用此代碼:
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