Interesting issue. A client found out that if you push “enter” on your keyboard while on the WooCommerce Checkout page, the form will be automatically submitted – as long as all required fields have been filled out.
Ouch! What if the customer wanted to use a different shipping method? What if “enter” is pushed by mistake? So, here’s how to disable it. Enjoy!
PHP Snippet: Disable “Enter” Key For WooCommerce Checkout Form
/**
* @snippet Disable Keyboard Enter @ Woo Checkout
* @tutorial Get CustomizeWoo.com FREE
* @author Rodolfo Melogli, Business Bloomer
* @compatible WooCommerce 8
* @community Join https://businessbloomer.com/club/
*/
add_action( 'woocommerce_before_checkout_form', 'bbloomer_disable_enter_key_woo_checkout' );
function bbloomer_disable_enter_key_woo_checkout() {
wc_enqueue_js( "
$('form.checkout').on('keypress',function(e) {
if (e.which == 13) {
return false;
}
});
" );
}
I was curious about how this effects accessibility for disabled people? I’m not exactly sure how that works with the tools that are available to them, but I know certain disabled people are unable to use a mouse and have to use their keyboard. Would disabling the “enter” option on the place order button make this unusable for certain disabled users? Thanks!
Not fully sure Liz, please ask an accessibility expert
It’s good. The problem I’ve found is it completely disables the enter key on the page, so now the enter key won’t work for customised input or text either. It would be better if it targeted the buy it now button specifically.
Hi John, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!
Hi,
It works perfectly!
Can I apply this code on all products automatically?
If so what is the full code?
Thanks,
Motti
Hey Motti, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!