如何获得字段的“实际”价值<input type="number">
?
我有一个input
盒子,正在使用较新的HTML5输入类型number
:
<input id="edQuantity" type="number">
Chrome 29最受支持:
我现在需要的是能够读取用户在输入框中输入的“原始”值的功能。如果用户输入了数字:
然后edQuantity.value = 4
,一切都很好。
但是,如果用户输入无效的文本,我想将输入框涂成红色:
不幸的是,对于type="number"
输入框,如果文本框中的值不是数字,则value
返回一个空字符串:
edQuantity.value = "" (String);
(至少在Chrome 29中)
我如何获得控件的“原始”值<input type="number">
?
我尝试浏览Chrome输入框其他属性的列表:
我没有看到任何类似于实际输入的内容。
我也找不到找到框“是否为空”的方法。也许我可以推断出:
value isEmpty Conclusion
============= ============= ================
"4" false valid number
"" true empty box; not a problem
"" false invalid text; color it red
注意:您可以忽略水平规则之后的所有内容;它只是填补这个问题的理由。另外:不要将示例与问题混淆。人们可能会因为红色框以外的其他原因而希望得到此问题的答案(一个示例:在onBlur事件期间将文本"four"
转换为拉丁"4"
符号)
我如何获得控件的“原始”值<input type="number">
?
奖励阅读
validity
状态 -可以,typeMismatch
但是我还没有检查自己。
blah
是无效数字”。
number
您不是要查找的输入类型;使用普通text
输入。