【发布时间】:2019-07-08 16:37:08
【问题描述】:
我有一个 type = "number" 的 Input 元素,它应该只接受 0,1,..,9 和 "." 默认情况下,您还可以使用 +、- 以及我使用 EventListener“keydown”和 keyCodes 阻止的其他字符。它工作正常。
但是如何防止用户将其他内容粘贴或拖放到输入中?我试图验证 input.value 但当它不是有效数字时它实际上给了我“”。 有没有办法在粘贴之前查看用户想要粘贴的内容?
我也知道,我可以将类型更改为“文本”,但至少目前它不是一个选项。
谢谢。
【问题讨论】:
-
您应该可以使用oninput 来处理这个问题。
-
使用模式属性只接受 0-9。使用
min="0"来防止负数。当然他们可以输入无效字符,但表单将无效并阻止提交
标签: javascript html input types numbers