javascript - 如何运行数字键来为asp.net文本框输入数字?

标签 javascript asp.net webforms keyboard integer

我有一个文本框,应该只输入数字。它有一个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;
    }
  }
}

但是,数字键盘无法使用此功能。键盘上只有其他数字键起作用。

我是否忘记了什么?如何运行数字键?

最佳答案

Is there something I have forgotten for this? How can I run the numeric keys?

键码不同。数字从 4857。小键盘从 96105

I've a textbox that should be entered just numeric.

但是您应该测试该值是否为整数,而不是测试键:

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;
    }
  }
}

关于javascript - 如何运行数字键来为asp.net文本框输入数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41116376/

相关文章:

javascript - 按删除行按钮后如何依次更改 ID 的名称或号码

javascript - 套接字 IO V0.7 : How to send message to more that one specific client

javascript - asp.net javascript .click() 事件未在服务器上触发

.net-3.5 - PetaPoco 数据库类应该每次请求创建一次还是每次需要时创建?

c# - 将 Bundle 添加到现有的 ASP.NET Webforms 解决方案

javascript - 反转纪元时间转换

JavaScript e 未定义,无法对 mousedown 执行连续操作

c# - 来自数据库的 ASP.NET MVC 下拉列表

asp.net - Active Directory 自定义用户配置文件/属性?

javascript - ASP.NET WebForms - 同时执行 JavaScript 验证和验证控制