带有parseInt onchange的HTML输入编号

时间:2015-10-07 12:09:53

标签: javascript html input types numbers

我在表单中使用input type="number"。我触发onchange事件以获取其值。

但是当我写'2a'它说价值是空的。所以我甚至不能用parseInt()来获得' 2'整数,我想要的。

当然,它与input type="text"一起使用,但我还想使用数字类型的min max属性来简化表单验证。这有什么解决方案吗?

2 个答案:

答案 0 :(得分:0)

您可以使用change代替document.querySelector('input').addEventListener('keydown', function(e) { var char = e.key || String.fromCharCode(e.keyCode) || String.fromCharCode(e.charCode); if (!/[0-9]/.test(char)) { e.preventDefault(); } });来执行此操作:



<input type="number" min="0" max="100" placeholder="Insert a number">
&#13;
static
&#13;
&#13;
&#13;

答案 1 :(得分:0)

输入元素的类型数并不意味着你不能在其中写入其他类型的字符,只是为了使包含输入的表单元素在html上下文中有效或无效,我建议使用正则表达式或字符检查在链接到输入中的onkeydown事件的javascript函数中,您可以使用该函数绝对控制您可以在该输入中插入或不插入的字符。如果您使用框架javascript,有一些功能可以帮助您,在其他情况下,您可以在一个小的JavaScript函数中自己编程。 例如,这是整数/小数的正则表达式,允许正数和负数。

NavigationController