在Chrome中,当我们使用<input type='number'
&gt;时,如果我们输入任何非数字字符,则不会显示它们。
在mozilla中,会显示它们。但是,当我收到e.target.value
时,我收到一个带有验证消息Please enter an number
的空字符串。
我想在mozilla中使用chrome功能 - 我试图去除最后一个字符(如果它不是数字) - 但是当输入非数字字符时值为空字符串我无法这样做。
答案 0 :(得分:1)
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;
答案 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();
});