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>
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.