I had exactly the same need, because of the ajax checkout validation.
Woocommerce has some custom javascript events we can hook to.
In reCaptcha specific case we need to hook to checkout_error
that is triggered when the ajax call fails.
So, I solved with the following code in my own javascript file, besides the PHP custom validation hooked to woocommerce_checkout_process
:
jQuery(document).ready(function($) {
$( document.body ).on( 'checkout_error', function() {
grecaptcha.reset();
});
});
Hope it helps.
Related Posts:
- Add javascript to a woocommerce page template
- How do you filter the list of states when country is selected? [closed]
- Prevent update_checkout from firing mid-typing
- Add JavaScript to all WooCommerce Products
- print script on wordpress header after user registered
- Add captcha validation to my custom form for Frontend posting
- Variations Javascript not working when product display on Quick view via ajax
- Create new product with woocommerce REST API with javascript (clientside)?
- addEventListener vs onclick
- How do I check if an array includes a value in JavaScript?
- JavaScript document.getElementById().value logs empty value
- What is console.log?
- Array of JSON Objects
- Cannot read property ‘push’ of undefined when combining arrays
- window.onload vs document.onload
- Fetch: POST JSON data
- JavaScript hide/show element
- Copy array by value
- Compare two dates with JavaScript
- Get the current URL with JavaScript?
- How do I empty an array in JavaScript?
- What’s the difference between event.stopPropagation and event.preventDefault?
- ReferenceError: fetch is not defined
- In reactJS, how to copy text to clipboard?
- What is “assert” in JavaScript?
- How does the data-toggle attribute work? (What’s its API?)
- How to import image (.svg, .png ) in a React Component
- How do I embed PHP code in JavaScript?
- Make javascript alert Yes/No Instead of Ok/Cancel
- How to create a dialog with “yes” and “no” options
- Adding images to a Bootstrap Carousel with AJAX
- XMLHttpRequest cannot load XXX No ‘Access-Control-Allow-Origin’ header
- Uncaught TypeError: Cannot read property ‘props’ of null
- Error: Failed to execute ‘appendChild’ on ‘Node’: parameter 1 is not of type ‘Node’
- How to validate date with format “mm/dd/yyyy” in JavaScript?
- How to handle the `onKeyPress` event in ReactJS?
- ES6: Create Strings using Template Literals – Freecodecamp
- Youtube api – stop video
- Uncaught TypeError: Cannot read property ‘msie’ of undefined – jQuery tools
- Jest TypeError: Path must be a string. Received undefined
- How do I convert an integer to binary in JavaScript?
- What does window.jQuery and window.$ mean?
- Convert CSV data into JSON format using Javascript
- Can not solve: Geocode was not successful for the following reason: OVER_QUERY_LIMIT
- How to set Angular 4 background image?
- Check time difference in Javascript
- ReactJS – .JS vs .JSX
- How to convert date to timestamp?
- ReactJS: Maximum update depth exceeded error
- React, Uncaught ReferenceError: ReactDOM is not defined
- How to implement “select all” check box in HTML?
- JQuery get the title of a button
- Javascript – Track mouse position
- Finding the max value of an attribute in an array of objects
- How to initialize an array’s length in JavaScript?
- How to set text color for my d3 chart title?
- Defining a HTML template to append using JQuery
- How do I bind to list of checkbox values with AngularJS?
- Wildcard string comparison in Javascript
- jQuery select option elements by value
- How to change cursor from pointer to finger using jQuery?
- How to get value in an object’s key using a variable referencing that key?
- Button that refreshes the page on click
- jQuery equivalent of body onLoad
- Replace spaces with dashes and make all letters lower-case
- What does l10n.js do in WordPress 3.1? And how do I remove it?
- How to add javascript just before the closing body tag in the footer of WordPress
- wp_localize_script with boolean and init
- How to pre-fill Google Forms URLs with logged-in WordPress user’s data
- Use of Javascript with Dojo/Dijit on a WordPress page
- WordPress loads whole jQuery UI library
- Javascript that will execute on only child pages of a specific parent
- What is the Javascript event for an item being added to the cart in Woocommerce?
- VB.net and WordPress
- Gutenberg passing block attributes to component in ES6/ESNext
- WP REST API Post Status Using JavaScript
- How to prevent those PHP variables from being cached on WordPress?
- Script Localization doesn’t work
- How to conditionally show/hide controls & sections in WordPress customizer?
- Uncaught TypeError [closed]
- Redirect to another page using contact form 7? [closed]
- How to move core js files into the footer
- Building a Featured Gallery component for Gutenberg
- Suddenly extra hex string in tags
- Retrieving data about comments and likes
- Including Styles and JS files to work ON my plugin interface
- Linking wp_enqueue can’t find the javascript file (adds “?ver=x.x.x” to the src)
- Gutenberg – useEffect manipulate DOM after block re-renders DOM
- Woocommerce disable order item link (backend) [closed]
- My code will not execute in wordpress, even though I’ve been told the code is fine
- woocommerce deposit Form with AJAX and shortcode won’t update but add to previous output
- JSX SVG Icon with WordPress
- Javascript working on jsfiddle but not wordpress site?
- Drodown list return issue
- Spans in gutenberg
- Get a default customizeAction text for a section using Customizer JS API
- Put dynamic Javascript in header after doing operations
- Adding javascript blocks to a single file and adding it to the header
- How to integrate a different (JavaScript) editor in WordPress?
- How can I look at/edit what’s being sent to post.php when I hit the publish/update button?