无法明确呈现Google ReCaptcha并使回调函数正常工作

时间:2017-02-27 11:40:07

标签: javascript forms recaptcha

我正在网站上构建一个表单,我正在提交一个函数,以便在提交ReCaptcha时运行。此函数删除提交按钮上的disabled属性。

也有可能在一个页面上使用多个表单,因此我实现了以下解决方案,以允许在一个页面上显示多个captacha表单:

https://stackoverflow.com/a/33535769/2506219

似乎我可以允许多个ReCaptcha表单或允许提交按钮但不允许两者。

以下是代码:

HTML

<div class="g-recaptcha" data-callback="verifyCallback"></div>     

<script src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit" async defer></script>

的JavaScript

<script>

  var CaptchaCallback = function() {
    $('.g-recaptcha')
      .each(function(index, el) {
        grecaptcha.render(el, { 'sitekey': 'XXXX' });
      });
    };

  function verifyCallback() {;
    $('#submitBtn').prop('disabled', false);
  }

</script>

感谢-你。

1 个答案:

答案 0 :(得分:0)

解决了!

我需要从回调中调用该函数,让它在HTML中不起作用

var CaptchaCallback = function() {
  $('.g-recaptcha')
    .each(function(index, el) {
      grecaptcha.render(el, { 'sitekey': 'XXXX', 'callback': verifyCallback });
  });
 };