关于HTML5中input框type=number取值的问题
在HTML5中,新增了type=number的类型,这个类型有一些隐藏的问题。
在W3C规范中,如果输入了一些非数字的字符,就会返回空字符串。
http://www.w3.org/TR/html5/forms.html#number-state-(type=number)
这个事情非常坑,会导致验证的时候如果输入非数字的时候,直接.value( 或者$('.selector').val() )拿不到值,而拿不到值的情况下会认为没有填写,如果你页面上的一个框,要求格式须填数字格式,而又不是必填的,设置成number就会导致验证逻辑不正常。 比如jqueryvalidation框架的验证就不正常,因为它获取输入框值的时候用的.val()方式。
chrome中, 在.validity.badInput这个属性里,可以判断值是否正常,如果填入了非正常值,这个属性就是true,正常值的话就是false。
但是火狐下.validity里没有badInput属性,它直接.value可以正常返回非数字的字符串。
IE8、9也可以直接.value获取到非数字的字符串值,不会返回空字符串。
相关推荐
nercon 2020-08-01
swiftwwj 2020-02-23
wusiye 2020-10-23
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...
gufudhn 2020-08-09
swiftwwj 2020-07-21
nercon 2020-07-16
饮马天涯 2020-07-05
Lophole 2020-06-28
gufudhn 2020-06-12
csstpeixun 2020-06-11
huzijia 2020-06-09
WebVincent 2020-06-06
行吟阁 2020-05-30
qsdnet我想学编程 2020-05-26
gufudhn 2020-05-25
qsdnet我想学编程 2020-05-19
suixinsuoyu 2020-05-15
HSdiana 2020-05-15