我将此输入与onkeypress事件一起提交:
<input type="number" min = "0" id = "count" onkeypress='return event.charCode >= 48 && event.charCode <= 57' />
基本上这只允许在字段中输入数值......这在Chrome,Firefox和IE中运行得很好...这对我来说已经足够了。但“退格”键在Firefox中不起作用。它在Chrome和IE中运行良好。我的意思是如果我想键入'15'并且偶然输入'155'...在Firefox中我无法在该字段上使用“退格”。如何在Firefox中进行退格键操作?
答案 0 :(得分:1)
jQuery代码片段下方只允许文本框中的数字。但是也允许退格键和删除键。
$("#testID").keydown(function(e) {
if (e.shiftKey)
e.preventDefault();
else {
var nKeyCode = e.keyCode;
//Ignore Backspace and Tab keys
if (nKeyCode == 8 || nKeyCode == 9)
return;
if (nKeyCode < 95) {
if (nKeyCode < 48 || nKeyCode > 57)
e.preventDefault();
} else {
if (nKeyCode < 96 || nKeyCode > 105)
e.preventDefault();
}
}
});
答案 1 :(得分:0)
您可能想要这样做:
var input = document.querySelector('#count');
input.addEventListener('input', function (e) {
return (e.keyCode === 8 || (e.keyCode >=48 && e.keyCode <=57));
});
&#13;
<input type="number" min="0" id="count">
&#13;
答案 2 :(得分:0)
尝试此方法仅允许使用数字:
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
&#13;
<input type="number" class="textfield" value="" id="extra7" name="extra7" onkeypress="return isNumber(event)" />
&#13;
答案 3 :(得分:0)
您可以为Backspace键添加一个catch:
<input type="number" min = "0" id = "count" onkeypress='return event.charCode >= 48 && event.charCode <= 57 || event.key === "Backspace"' />
&#13;