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

问题描述 投票:2回答:1

这个问题在这里已有答案:

当你有:

<input type="number" id="myInput" />

而你填写了一些垃圾:8,5,.,.,.,54.,543,.4

然后$('#myInput').value将返回''这意味着它被视为用户没有填写任何东西,弄乱我的表单验证。

如何检索实际输入?

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

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

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

javascript html validation input
1个回答
2
投票

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

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

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

你可以改为改变type ='text'或者将纯数字改为type ='number'

例:

console.log(document.getElementById('myInput').value)
<input type="text" id="myInput" value="43.,.,,.,.5" />
© www.soinside.com 2019 - 2024. All rights reserved.