相关疑难解决方法(0)

如果HTML5验证通过,如何运行reCaptcha?

通常情况下,HTML5表单验证运行之前submit事件.

有了这个

<form id="myForm">
    <input  type="text" name="foo" required />

    <button type="submit"> Submit </button>

</form>

<script>
    $("#myForm").on('submit',function(){
        console.log("I'm entering the submit event handler");
    });
</script>
Run Code Online (Sandbox Code Playgroud)

如果输入字段为空,则提交事件处理程序不会运行.只有在HTML5验证(required在本例中为属性)已通过时才会触发它.

我希望在HTML5验证之后运行验证码; 为什么我不得不惹恼用户编写验证码,如果以后我会警告他有丢失的字段?首先,我应该强迫用户以正确的方式做所有事情,然后确保它是一个人而不是机器人,恕我直言.

显然,reCaptcha会在其附加的表单上执行某些操作,从而删除HTML5验证功能.

例如,使用最新的Invisible reCaptcha:

<form id="myForm">
    <input  type="text" name="foo" required />

    <button type="submit"
           class="g-recaptcha" 
    data-sitekey="your_site_key" 
   data-callback='myCallback'> Submit </button>

</form>

<script>
    function myCallback(token){
        $("#myForm").submit();
    }

    $("#myForm").on('submit',function(){
        console.log("I'm entering the submit event handler");
    });
</script>
Run Code Online (Sandbox Code Playgroud)

表格将与空字段一起提交,而不会通知用户其强制性.

有关它为何如此行事的任何线索?有没有办法可以指示reCaptcha在控制之前运行HTML5表单验证?

javascript validation html5 recaptcha

15
推荐指数
2
解决办法
9048
查看次数

标签 统计

html5 ×1

javascript ×1

recaptcha ×1

validation ×1