使用Jquery进行Google重新验证

时间:2016-09-15 06:12:35

标签: javascript jquery recaptcha

我有兴趣在用户勾选并验证google recaptcha后立即隐藏resultcaptcha消息。只有第一部分(v.length == 0)有效。否则如果不起作用。您可以在此处查看表单:https://csandreas1.herokuapp.com

if(grecaptcha.getResponse() == 0) // this works
    {
        $('#resultcaptcha').show();
        $('#resultcaptcha').html('<i class="fa fa-exclamation-circle w3-text-red fa-3x" aria-hidden="true"></i> <span class="w3-text-white w3-bold" style="font-size:16px"> Please verify that you are a human</span>');
    }
    else if(grecaptcha.getResponse() == 1)//this doesn't work
    {
        $('#resultcaptcha').hide();
        $('#resultcaptcha').html('');
    }

    else{//submit the form}

1 个答案:

答案 0 :(得分:6)

上面的代码位于submit形式的事件处理程序中,只有当&#34;提交&#34;单击(发送)按钮。

要在验证验证码后立即隐藏错误消息,您需要使用验证码元素data-callback上的class="g-recaptcha",顾名思义提供要执行的回调验证验证码成功验证的那一刻。这是documentation link

这里的代码应该是什么样子。 (我无法使用data-callback属性验证代码,但它确实适用于grecaptcha.render()方法)

<script>
     function captcha_callback(response) {
        if (response.length > 1) {
            $('#resultcaptcha').html('');
        }
    }
</script>

<div class="g-recaptcha" data-sitekey="site_key" data-callback="captcha_callback"><div>

此外,如果您想再次重置验证码,请在成功提交后清除表单,您可以使用:(请参阅Documentation

grecaptcha.reset()