输入标签从不显示非数字单词的面

input tag never show the face of non-numeric words

本文关键字:数字 单词 显示 标签 输入      更新时间:2023-09-26

在html中,我想让输入只允许数字。我知道有一个onkey(up|press|down)事件,但是如果您尝试过,那么您知道您首先按下的一个数字会在一秒钟内显示其看起来不漂亮的脸。那么如何制作它(标题中的问题)?----这意味着如果您用键盘按下非数字单词,则输入标签没有任何响应。我想捕捉一个单词产生的偶数,并即将在输入标签中显示它的脸,但我没有找到关于那个的文档。

只有在释放键盘键后,字符已经进入文本区域/输入元素,才会触发keyup事件。

另一方面,keydown 一旦按下键就会触发,如果您取消事件,字符甚至不会首先插入输入字段。

不过,请确保仔细处理此问题,以免消除用户可能需要使用输入字段的其他按键,例如光标键或 ins/del 等。

(您可能希望在提交或以其他方式使用值之前添加额外的验证/清理,因为该值可能会以关键事件无法捕获的其他可能方式进入输入字段,例如通过上下文菜单触发的粘贴。

你不能

100%。我可以随时禁用或编辑您编写的任何 JavaScript 代码,因此您最好不要单独依赖此检查进行验证,也始终验证服务器端。

至于进行客户端验证,现代浏览器内置了该功能,您可以在<input>上使用 type 属性并将其设置为 number ,如下所示:

<form>
  <p>Try to enter a non number and submit.</p>
  <input type="number">
  <button>Submit</button>
</form>