通常情况下,HTML5表单验证在
使用这个
如果输入字段为空,则提交事件处理程序不会运行。只有在HTML5验证(在这种情况下为
我希望验证码在HTML5验证之后运行; 如果稍后我会警告用户有缺失的字段,为什么要编译验证码来打扰用户? 我认为首先应该强制用户按正确的方式操作,然后再确保它是人类而不是机器。
显然,reCaptcha对其附加的表单进行了某些操作,从而删除了HTML5验证功能。
例如,使用最新的Invisible reCaptcha:
表格将被提交,其中包含空字段,而不通知用户其必要性。
你有什么线索可以解释为什么会出现这种情况吗?我能否指示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>
如果输入字段为空,则提交事件处理程序不会运行。只有在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>
表格将被提交,其中包含空字段,而不通知用户其必要性。
你有什么线索可以解释为什么会出现这种情况吗?我能否指示reCaptcha在接管之前运行HTML5表单验证?
onClick
处理程序会影响onSubmit
处理程序,使其失去内置的验证功能,但这只是一个小问题:我的需求相当复杂(这只是谜题的第一部分),现在它们完全可以工作了。谢谢! - Andrea Ligios