2012-06-28 62 views
0

我使用下面的腳本來驗證文本框中只輸入數字和(。)這意味着它是十進制文本框驗證。它在Internet Explorer和Google Chrome中工作正常。如果我在FireFox中執行函數我得到以下錯誤事件沒有定義。如何解決這個問題?事件沒有在javascript中定義的錯誤Firefox

function abc(event) { 

      if (event.keyCode > 47 && event.keyCode < 58) { 
       return true; 
      } 
      if (event.keyCode == 8 || event.keyCode == 46) 
      { 
       return true; 
      } 
      return false; 
     } 

我調用這個函數一樣,

    $('.decimalValidate').live('keypress',function(){ 
            var decimalid=$(this).attr("id"); 
            var decimalval=$('#'+decimalid).val(); 
            var decimalvalidate=abc(decimalval); 
            if(decimalvalidate == false) 
            return false; 
          }); 

我給你這驗證了這樣的文本框,

input type="text" id="Total" class="abc" 
+1

你怎麼稱呼該功能? – xdazz

+0

你有任何eventListener附加或onclick事件(請更多代碼) – funerr

+0

我附加的按鍵事件 – User

回答

0

試試這個

function abc(event) { 
     if(!event) 
      event= window.event; 

     if (event.keyCode > 47 && event.keyCode < 58) { 
      return true; 
     } 
     if (event.keyCode == 8 || event.keyCode == 46) 
     { 
      return true; 
     } 
     return false; 
    } 

$('.decimalValidate').live('keypress',function(e){ 
           var decimalid=$(this).attr("id"); 
           var decimalval=$('#'+decimalid).val(); 
           var decimalvalidate=abc(evt); //keypress event 
           if(decimalvalidate == false) 
           return false; 
         }); 
+0

謝謝。現在正在工作 – User

0
$('.decimalValidate').live('keypress',function(e){ 
           var decimalvalidate=abc(e); //this will point to the event of the keypress. 
           if(decimalvalidate == false) 
           return false; 
         }); 

我不知道爲什麼你做了所有的十進制和十進制的運算,但是如果你想要這個事件,按照我在上面編輯過的代碼中寫的那樣進行。

祝你好運。

0

decimalval不是一個事件對象,你必須把它傳遞給在ordert農行功能找出你按了哪個鍵:

$('.decimalValidate').live('keypress',function(ev){ 
          var decimalid=$(this).attr("id"); 
          var decimalval=$('#'+decimalid).val(); 
          var decimalvalidate=abc(ev); 
          if(decimalvalidate == false) 
          return false; 
        }); 
+0

如果我使用像這樣我得到相同的錯誤 – User

+0

我們應該從開始:)你想用你的代碼做什麼? – davids

+0

函數abc(event){ if(event.keyCode> 47 && event.keyCode <58){ return true; } if(event.keyCode == 8 || event.keyCode == 46) { return true; } return false; } – User

0
$('.decimalValidate').on('keypress',function(event){ 
    var decimalid  = $(this).attr("id"); 
    var decimalval  = $('#'+decimalid).val(); 
    var decimalvalidate = abc(event); 

    if(decimalvalidate == false) 
     return false; 
}); 



function abc(event) { 

     if (event.keyCode > 47 && event.keyCode < 58) { 
      return true; 
     } 
     if (event.keyCode == 8 || event.keyCode == 46) 
     { 
      return true; 
     } 
     return false; 
} 

它可以幫助你..

相關問題