阻止在mozilla中显示输入类型编号的非数字字符

时间:2015-08-21 14:33:06

标签: html firefox

在Chrome中,当我们使用<input type='number'&gt;时,如果我们输入任何非数字字符,则不会显示它们。

在mozilla中,会显示它们。但是,当我收到e.target.value时,我收到一个带有验证消息Please enter an number的空字符串。

我想在mozilla中使用chrome功能 - 我试图去除最后一个字符(如果它不是数字) - 但是当输入非数字字符时值为空字符串我无法这样做。

2 个答案:

答案 0 :(得分:1)

&#13;
&#13;
document.querySelector("input").addEventListener("keypress", function (evt) {
    if(evt.which == 8){return} // to allow BackSpace
    if (evt.which < 48 || evt.which > 57)
    {
        evt.preventDefault();
    }
});
&#13;
Number: <input type='number'>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你可以这样做: http://jsfiddle.net/zpg8k/1660/

$('input[type="number"]').keypress(function(e) {
    var a = [];
    var k = e.which;

    for (i = 48; i < 58; i++)
        a.push(i);

    if (!(a.indexOf(k)>=0))
        e.preventDefault();
});