Google Recaptcha使用jQuery验证提交

时间:2018-03-05 20:57:56

标签: jquery recaptcha

我使用最新版本的ReCaptcha(隐形版)。

我理解如何将它与普通表单和Ajax表单一起使用,但我遇到了一个小问题。

我想使用Captcha和jQuery validate插件,所以我使用:

<form id="myForm" action="send.php" method="post">
    <h4>Your name</h4>
    <input type="text" name="name" required="required" />
    <div id='recaptcha' class="g-recaptcha"
        data-sitekey="***************"
        data-callback="onSubmitForm"
        data-badge="bottomleft"
        data-size="invisible"></div>    

    <input type="submit" value="Send form" class="button">
</form>

在我的JS中:

function onSubmitForm(data) {
    if ($("#gRecaptchaResponse").val() == '') {
        $("#gRecaptchaResponse").val(data);
    }
    $('#myForm').submit();
}  

$(function() {
    $('#myForm').validate({
        submitHandler: function(form) {
            // execute google recaptcha
            grecaptcha.execute();

            // test fires everytime of course ...
            console.log('Test');
        }
    });
});

我在官方文档(https://developers.google.com/recaptcha/docs/invisible#example)的Google示例中理解他们处理单击按钮(而不是提交按钮),但我想使用提交触发器,这样,用户可以按“输入” “按钮提交表格。

但是现在,有一种循环,jQuery验证句柄表单提交,并在验证后,执行回调,提交表单...然后表单永远不会被提交(到PHP动作)。结果非常奇怪。

使用提交触发器的任何简单方法?

0 个答案:

没有答案