【发布时间】:2016-04-26 09:47:06
【问题描述】:
我正在开发一个 ASP.NET MVC 5 Web 应用程序并且我有这个 html:
<div class="group">
<input type="text"
class="productClass"
name="Configurations[0].RemainingCodes"
id="Configurations[0].RemainingCodes"
onkeydown='IsValidKey(event);'
required />
</div>
还有这个 Javascript 函数:
function IsValidKey(e) {
e = e || window.event;
var code = e.keyCode;
return (e.keyCode >= 48 && e.keyCode <= 57) || e.keyCode == 8 || e.keyCode == 46 || (e.keyCode >= 96 && e.keyCode <= 105);
}
虽然我可以在code 变量中获取键码,但它不起作用。我试图只允许数字 [0..9] 键和退格键,但我可以输入字母。
第一个版本是这样的:
还有 javascript:
function IsValidKey()
{
return (window.event.keyCode >= 48 && window.event.keyCode <= 57) || window.event.keyCode == 8 || window.event.keyCode == 46 || (window.event.keyCode >= 96 && window.event.keyCode <= 105);
}
但 FireFox 抱怨 window.event 不存在。
我需要能够在尽可能多的浏览器上运行此代码。
这不是重复的,因为我在 Firefox 中获取代码并且该功能允许输入字母。
我该如何解决这个问题?
【问题讨论】:
-
onkeydown='return IsValidKey(event);'
标签: javascript