这是我的代码,仅用于创建文本框接受号码。
<asp:TextBox ID="txtRotationNo" runat="server" onkeydown="return NumberOnly();" CssClass="textbox"></asp:TextBox>
function NumberOnly () {
if(!(event.keyCode>=48 && event.keyCode<=57) && event.keyCode!=8) {
event.returnValue=null;
}
}
此代码适用于Chrome和Opera,但不适用于Firefox。
你能告诉我这段代码有什么问题吗?
答案 0 :(得分:8)
代码有很多问题,包括缺少事件参数,以及取消事件的错误方法。在这里,只需用以下代码替换代码:
function NumberOnly(e) {
e = e || window.event; // remove this if you don't need IE support
if (!(e.keyCode >= 48 && e.keyCode <= 57) && e.keyCode != 8)
e.preventDefault(); // standard method of cancelling event
return false; // IE method of cancelling event
}
答案 1 :(得分:0)
Firefox需要处理程序调用中的事件,并且需要返回“false”以忽略操作。此代码可能有效:
function NumberOnly(event) {
if(!(event.keyCode>=48 && event.keyCode<=57) && event.keyCode!=8) {
event.returnValue=null;
return false;
}
}
但我认为你可以跳过event.returnValue = null;
答案 2 :(得分:0)
与IE相反,'event'不是Firefox中的全局变量。因此,您必须将所需的按键信息作为参数传递。
答案 3 :(得分:0)