微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在reCAPTCHA之前的HTML5表单验证

我集成了新的隐藏reCAPTCHA(v2)框架,该框架认使用提交按钮的click事件验证用户.但是在内置HTML5表单验证之前触发此事件.我正在寻找一种方法来按预期的顺序进行:首先是表单验证,然后是reCAPTCHA.

解决方法

您必须以编程方式执行此操作,这要归功于新的v2 grecaptcha方法:grecaptcha.execute()以便recaptcha不会替换按钮的认单击事件,这会阻止认的HTML5表单验证.

事件路径是:

>提交按钮单击事件:浏览器内置表单验证
>表单提交事件:调用grecaptcha.execute()
> reCAPTCHA回调:提交表单

$('#form-contact').submit(function (event) {
    event.preventDefault();
    grecaptcha.reset();
    grecaptcha.execute();
  });

function formSubmit(response) {
  // submit the form which Now includes a g-recaptcha-response input
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://www.google.com/recaptcha/api.js"></script>
<form action="?">
  <div class="g-recaptcha" 
       data-sitekey="your-key"
       data-size="invisible"
       data-callback="formSubmit">
  </div>
  <button type="submit">Submit</button>
</form>

原文地址:https://www.jb51.cc/html5/168890.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。