Html输入类型=“数字”返回空字符串作为值

时间:2018-03-01 13:24:41

标签: javascript html validation input

当你有:

8,5,.,.,.,54.,543,.4

你填写的垃圾就像: $('#myInput').value

然后''将返回{{1}} 这意味着它被视为用户没有填写任何内容,弄乱了我的表单验证。

如何检索实际输入?

可以在此处找到codePen,您可以检查控制台确实打印出一个空字符串:https://codepen.io/anon/pen/EQrrXz?editors=1111

我在使用chrome,但在safari上也会发生这种情况。

我仍然希望能够接受正常的数字输入,包括小数。

1 个答案:

答案 0 :(得分:2)

您将字符串放入type =' number'这是不正确的。

执行此操作时,您会在控制台中收到此错误。

  

指定值" 8,5,。,。,。,54。,543,.4"不是有效的数字。该值必须与以下正则表达式匹配: - ?(\ d + | \ d +。\ d + + |。\ d +)([eE] [ - +]?\ d +)?

您可以更改type =' text'相反或将纯数字加入类型='数字'

示例:



console.log(document.getElementById('myInput').value)

<input type="text" id="myInput" value="43.,.,,.,.5" />
&#13;
&#13;
&#13;