Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google reCAPTCHA data-callback not working

I have built a email newsletter signup form which posts into mailchimp from my website. I have Google reCAPTCHA added to the form and have a data-callback to enable the submit button as it is initially disabled. This was working fine in all browsers last night and did tests with success & signed off on it..and went home. I got in this morning and found the subscribe button will not enable / data-callback does not work? Strange..

Callback

<div class="g-recaptcha" data-callback="recaptcha_callback" data-sitekey="xxxxx"></div>   

Input button at bottom of form

<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button" disabled> 

Scripts

<script src='https://www.google.com/recaptcha/api.js'></script> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>     <script type="text/javascript">     $(document).ready(function() {       function recaptcha_callback(){         alert("callback working");         $('.button').prop("disabled", false);       }     )}; </script> 
like image 570
roshambo Avatar asked Feb 24 '16 22:02

roshambo


People also ask

How do I reset Google reCAPTCHA?

For reCaptcha v2, use: grecaptcha. reset();

What is data callback?

Calls one or several javascript functions when a specified event occurs.


1 Answers

Change your script to...

<script type="text/javascript">     function recaptcha_callback(){       alert("callback working");       $('.button').prop("disabled", false);     } </script> 

By placing your function inside the document.ready event, it is not in the global scope and therefore unreachable by the captcha control.

like image 82
m-albert Avatar answered Oct 16 '22 21:10

m-albert