我正在使用新的HTML5输入类型之一,
<input type="number" />
在Opera中,我知道目前唯一能够识别它的桌面浏览器,它会这样呈现它:
我面临的问题是验证之一。如果用户在字段中输入了无效的内容,例如:“ abc
”,则返回的值myInput.value
是空字符串。这使得无法判断用户是否将该字段留空或者他们输入了一些不正确的数据。有什么方法可以获得该域的真正值?
发布于 2018-04-09 09:28:25
HTML5草案定义:
值清理算法如下:如果元素的值不是有效的浮点数,则将其设置为空字符串。
我想你应该使用默认值“0”来确保该字段保持不变或者输入了无效的内容,因为似乎没有明显的方法来区分这两者。
在阅读验证规范和一些测试(在Opera 10.54中)之后,我得出结论:
<input id="email" type="email" value="blah">
document.getElementById("email").validity.typeMismatch // True
<input type="number">
不起作用。不知道是否应该这样做,或者这是一项正在进行的工作。该属性确实存在,但它总是返回False。
https://stackoverflow.com/questions/-100003257
复制相似问题