我目前正在尝试进行第二次(第一次)结帐验证。为此,我需要阻止标准的WooCommerce结帐验证。之前我已经用很多表格进行过操作,但是这次触发器没有响应。
我的期望:
当用户单击“下订单”按钮时,不应运行标准的WooCommerce结帐验证,并且浏览器会警告我的文本。
会发生什么:
当我单击按钮时,我看不到任何文本/警报。
我的代码:
jQuery(document).ready(function () {
var checkoutForm = document.querySelector('.woocommerce-checkout');
var postcode = jQuery('#billing_postcode', checkoutForm);
if (checkoutForm != null) {
checkoutFormValidation(checkoutForm, postcode);
}
});
function checkoutFormValidation(checkoutForm, postcode) {
var checkoutButton = checkoutForm.querySelector('button[type="submit"]');
checkoutButton.addEventListener('click', function (e) {
e.preventDefault();
alert("Clicked!");
});
}
我已经检查了所有内容,并且文件已包含在结帐处。所以不知道为什么这行不通。
答案 0 :(得分:0)
我找到了解决方案。问题是,默认情况下会触发另一个验证功能。因此,如果您只想添加自定义验证而不丢失WooCommerce验证,则无法按照我尝试的方式进行。因此解决方案是使用WooCommerce验证功能:
jQuery(document.body).on("checkout_error", function () {
alert("Clicked!");
});