数据回调函数在Invisible reCAPTCHA中不起作用

时间:2017-06-23 11:57:28

标签: javascript invisible-recaptcha

我已在网站中为注册表单实现了Invisible reCAPTCHA。当我单击提交按钮时,将显示reCAPTCHA,并且在验证之后它不会调用回调函数。 这是剧本。

脚本

 {literal}
 <script src="https://www.google.com/recaptcha/api.js" async defer></script>
 <script>
 function onSuccess = function(token) {
 document.getElementById("registerform").submit();
 }
 </script>
{/literal}

HTML

<form action="" method="post" name="registerform" id="registerform" onsubmit="javascript: return checkRegFormFields(this);">
<td colspan="2" class="button-row">
<button class="btn main-button btn-danger no-bdrs btn-block btn-lg g-recaptcha" data-sitekey="mysitekey" data-callback="onSuccess"  title="Submit">  Submit </button>
</td>

1 个答案:

答案 0 :(得分:0)

这里你可能会发生两件事。

1)单击“提交”按钮时,未注册回调。

首先使用回调命令您的脚本,然后在html中重新接收api,如下所示 -

(供参考:https://developers.google.com/recaptcha/docs/invisible#explicit_render

{literal}
 <script>
 function onSuccess = function(token) {
 document.getElementById("registerform").submit();
 }
 </script>
 <script src="https://www.google.com/recaptcha/api.js" async defer></script>
{/literal}

2)或者如果回调被注册,那么谷歌会将你视为机器人,因此不会调用数据回调,那么在这种情况下你必须获得验证码图像挑战。

只有成功验证后才会调用

数据回调。

希望这会有所帮助..