获取HTML5号码输入的值

时间:2010-06-22 06:35:22

标签: javascript html5 input

我正在使用其中一种新的HTML5输入类型number

<input type="number" />

在Opera中,这是我所知道的目前唯一可识别它的桌面浏览器,它呈现如下:

enter image description here

我面临的问题是验证问题。如果用户在字段中键入无效内容,例如:“abc”,则myInput.value返回的值为空字符串。这使得无法判断用户是否将该字段留空,或者是否输入了一些不正确的数据。有没有办法获得该领域的真正价值?

1 个答案:

答案 0 :(得分:13)

HTML5草案定义:

值清理算法如下:如果元素的值不是有效的浮点数,则将其设置为空字符串。

Reference1

我想你已经使用默认值“0”来确保字段保持不变或者输入的内容无效,因为似乎没有明显的方法来区分这两者。

在阅读了验证规范和一些测试(在Opera 10.54中)后,我得出结论:

<input id="email" type="email" value="blah">
document.getElementById("email").validity.typeMismatch // True

不适用于<input type="number">。不确定它是否应该,或者它是否正在进行中。但是该属性确实存在,但它总是返回False。

Read more2

您还可以设置自定义验证方法Reference3