我的文本框应该只输入数字。它有一个js函数。
<asp:TextBox ID="txtPrintCount" runat="server" MaxLength="2" Style="width: 30px" onkeydown="return CheckNumeric(event);" />
function CheckNumeric(e) {
if (window.event) { // IE
if ((e.keyCode < 48 || e.keyCode > 57) & e.keyCode != 8) {
event.returnValue = false;
return false;
}
} else { // Firefox
if ((e.which < 48 || e.which > 57) & e.which != 8) {
e.preventDefault();
return false;
}
}
}
但是,数字小键盘无法使用此功能。只有其他数字键可以在键盘上使用。
我有没有忘记这件事?如何运行数字键?
答案 0 :(得分:1)
我有没有忘记这件事?如何运行数字键?
密钥代码不同。这些数字是48
到57
。小名单来自96
到105
。
我有一个文本框,只能输入数字。
但是,不应测试密钥,而应测试该值是否为整数:
function isInteger(value) {
return value === parseInt(value, 10);
}
function CheckNumeric(e) {
if (window.event) { // IE
if (!isInteger(window.event.srcElement.value)) {
event.returnValue = false;
return false;
}
} else { // Firefox, Chrome, Edge, Safari, Opera, etc
if (!isInteger(e.target.value)) {
e.preventDefault();
return false;
}
}
}
答案 1 :(得分:1)
您应该使用onkeypress
事件而不是onkeydown
。改变你的设计:
<asp:TextBox ID="txtPrintCount" runat="server" MaxLength="2" Style="width: 30px" onkeypress="return CheckNumeric(event);" />