嗨我有一些結帳頁面的問題,當我更改頁面上的付款方式自動提款結帳順序,我想手動,使用按鈕。我嘗試下面的代碼來禁用ajax調用,但似乎這不是一個ajax問題。woocommerce防止結賬交付付款方式提交
function script_disabled()
{
wp_dequeue_script('wc-checkout');
}
add_action('wp_enqueue_scripts', 'script_disabled');
嗨我有一些結帳頁面的問題,當我更改頁面上的付款方式自動提款結帳順序,我想手動,使用按鈕。我嘗試下面的代碼來禁用ajax調用,但似乎這不是一個ajax問題。woocommerce防止結賬交付付款方式提交
function script_disabled()
{
wp_dequeue_script('wc-checkout');
}
add_action('wp_enqueue_scripts', 'script_disabled');
關於您對問題的描述有些不太正確。使用單選按鈕更改付款方式不應該自動提交訂單。在我的安裝中,此操作僅顯示或隱藏付款方式的相應窗格。顯示的窗格實際上有提交訂單的按鈕。下面的代碼是防止提交AJAX調用的jQuery事件處理程序。然而,我不認爲這是你的問題的正確解決方案。您描述的行爲不是WooCommerce結帳頁面應如何工作。至少,它在我的安裝中不會有這種表現,這對於結賬頁面來說非常標準。
jQuery('form.checkout').on('checkout_place_order', function() {
var $payment_method = jQuery('form.checkout input[name="payment_method"]:checked').val();
if (/* your condition, e.g. "$payment_method == 'paypal'" */) {
// prevent the submit AJAX call
alert('submit cancelled!');
return false;
}
// allow the submit AJAX call
return true;
});
我不會使用這個解決方案,因爲我認爲別的是錯的。
感謝您的回覆。我認爲我在這個插件https://es.wordpress.org/plugins/woo-update-cart-on-quantity-change/中發現了問題。當我將選擇器從jQuery('body')。delegate(「。cart_item .qty」)更改爲$(「。cart_item .qty」)時,沒有提交結帳表單,我要將此問題報告給插件developpers – efirvida
在checkout.js中,在提交訂單前觸發了事件處理程序。這些事件是'checkout_place_order'和'checkout_place_order_'+ wc_checkout_form.get_payment_method()。如果此事件處理程序的最後一個返回false,則不會提交訂單。 –
@MagentaCuda,那我該怎麼辦? – efirvida