我已在网站中为注册表单实现了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>
答案 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)或者如果回调被注册,那么谷歌会将你视为机器人,因此不会调用数据回调,那么在这种情况下你必须获得验证码图像挑战。
只有成功验证后才会调用数据回调。
希望这会有所帮助..