在reCAPTCHA之前的HTML5表单验证

前端之家收集整理的这篇文章主要介绍了在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>

猜你在找的HTML5相关文章