Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入标记从不显示非数字单词的正面_Javascript_Html_Input_Digit - Fatal编程技术网

Javascript 输入标记从不显示非数字单词的正面

Javascript 输入标记从不显示非数字单词的正面,javascript,html,input,digit,Javascript,Html,Input,Digit,在html中,我想让输入只允许数字。 我知道有一个ON键(向上|按下|向下)事件,但如果你尝试了,你就会知道你首先按下的一个数字会在一秒钟内显示它的脸,这看起来并不漂亮。 那么怎么做呢(标题中的问题)?——这意味着如果你用键盘按一个非数字的单词,那么输入标签什么也不响应。 我本想捕获一个单词产生并将在输入标记中显示其面孔的偶数,但我甚至没有找到关于这一偶数的文档。你不能100%。我可以随时禁用或编辑您编写的任何JavaScript代码,所以您最好不要仅依靠此检查进行验证,也要始终验证服务器端 至

在html中,我想让输入只允许数字。 我知道有一个ON键(向上|按下|向下)事件,但如果你尝试了,你就会知道你首先按下的一个数字会在一秒钟内显示它的脸,这看起来并不漂亮。 那么怎么做呢(标题中的问题)?——这意味着如果你用键盘按一个非数字的单词,那么输入标签什么也不响应。
我本想捕获一个单词产生并将在输入标记中显示其面孔的偶数,但我甚至没有找到关于这一偶数的文档。

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

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


尝试输入非数字并提交

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

另一方面,
keydown
在按下该键后立即触发,如果取消该事件,该字符甚至不会首先插入到输入字段中

但是,请务必小心处理此问题,这样您就不会消除用户可能需要使用输入字段的其他按键,如f.e.光标键或ins/del等


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

您能提供一些您已经尝试过的示例或代码吗?请您解释一下“数字的脸”onkeyup=“this.value=this,value.replace(/\D/g),”)“即使您在键盘上按一个非数字单词,然后按静止键,该单词也不会消失。我刚才更改了输入类型,然后输入只显示两个额外的加号或减号按钮,您仍然可以输入非数字单词。是的,但您不能提交表单。这是浏览器提供给您的免费功能,因此您不必实现它。暴力干扰用户类型对用户体验不好。我刚刚更改了输入类型,然后输入只显示两个额外的按钮为加号或减号,您仍然可以输入非数字单词。
我希望JS只是格式化用户编写的单词,因此,他们不会费心删除他们按下的非数字代码,这将是一个完全错误的代码。我的意思是,JS将是一个有用的工具,而不是一个检查系统。我已尝试捕获onkeydown事件。但是,如果您输入的第一个单词是非数字的,那么它就会出现。因此,对于您输入的第一个单词,它将不起作用。您可能做错了……最后,我发现,在捕获onkeydown函数返回之前,我添加了代码“alert('a'),然后它就不起作用了。在我删除该警报代码后,它工作正常
PS.事件不是取消,而是一直工作到结束,然后返回信号“false”停止下一步