簡體   English   中英

我的javascript代碼無法在mozilla firefox中運行

[英]My javascript code not working in mozilla firefox

這是我的代碼,僅用於創建文本框接受號碼。

<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。

你能告訴我這段代碼有什么問題嗎?

代碼有很多問題,包括缺少事件參數,以及取消事件的錯誤方法。 在這里,只需用以下代碼替換代碼:

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
}

Firefox需要在處理程序的調用內執行事件,並且需要返回“false”以忽略操作。 此代碼可能有效:

function NumberOnly(event) {
  if(!(event.keyCode>=48 && event.keyCode<=57) && event.keyCode!=8) {
    event.returnValue=null;
    return false;
  }
}

但我認為你可以跳過event.returnValue = null;

與IE相反,'event'不是Firefox中的全局變量。 因此,您必須將所需的按鍵信息作為參數傳遞。

這里找到javascript驗證函數列表,在開發過程中非常方便。

謝謝,

Ashish Chotalia

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM