首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTML5 Chrome checkValidity onBlur

HTML5 Chrome checkValidity onBlur
EN

Stack Overflow用户
提问于 2013-01-16 12:13:33
回答 3查看 10.6K关注 0票数 9

我试着在模糊上做一个简单的数字输入域的checkValidity,但是不能正常工作。这在Chrome上还能用吗?例如:

<input onBlur="checkValidity()" type="number" name="x" id="x" min="64" max="2048" value=64>

<input onBlur="this.checkValidity()" type="number" name="x" id="x" min="64" max="2048" value=64>

看起来什么都不做。但是,在控制台中,

$("#x")[0].checkValidity() 

根据输入框中的当前值和(64,2048)以上的限制返回true或false。这是坏了吗,还是我做错了?

EN

回答 3

Stack Overflow用户

发布于 2013-01-16 12:28:41

您应该使用onChange事件

例如

var input1 = document.getElementById('txt_username');
    input1.onchange = function(){
        input1.setCustomValidity(input1.validity.patternMismatch ? 'username must match a-z,A-Z,0-9,4-16 character' : ''); 
    }
票数 0
EN

Stack Overflow用户

发布于 2018-06-23 03:26:24

这是一个解决方案

$("form").focusout(function(){
        if(!$("form")[0].checkValidity()){
            setTimeout(function(){$(":submit").eq(0).trigger('click');},0);
        }
    });

如果您的任何表单元素失去焦点,您将检查表单的有效性。如果表单无效,让jquery单击第一个submit按钮。出于某种原因,必须使用超时才能使其正常工作。超时时间为零只会将函数移动到函数队列的末尾。

票数 0
EN

Stack Overflow用户

发布于 2013-01-17 14:49:30

由于blur事件不可取消,因此onblur="checkValidity()"无效。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14351260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档