2012-02-28 4 views
0

Используя этот код, пользователь не вводит числовое значение. В Google Chrome поле ввода не принимает числовое значение, а в Firefox. Я не понимаю, почему это происходит. Любая помощь оценивается.поле ввода с числовым значением в firefox

<input type="text" name="station_name" id="station_name" onKeyPress="return noNumbers(this)" maxlength="45" /> 

это моя функция Javascript

<script type="text/javascript" language="javascript"> 
function noNumbers(evt) 
      { 
       var charCode = (evt.which) ? evt.which : event.keyCode; 
       if((charCode>=65 && charCode<=90)||(charCode>=97 && charCode<=122)||(charCode==32)) 
        return true; 
       return false; 
      } 
</script> 

ответ

2

Это потому, что в Firefox, событие передается в качестве параметра обработчика событий. свойство события объекта window - это только IE.

function enterHere(e) 
{ 
    e = e || window.event; 
    var code = e.keyCode || e.which; 
    if(code == 13) 
     find(); 
} 
+0

до сих пор не работает ... :( –

+0

'' необходимо изменить. !! –

1

вы передаете this в следующей строке, проходят event

<input type="text" name="station_name" id="station_name" onKeyPress="return noNumbers(event)" maxlength="45" /> 

EDIT хорошо попробовать происходит некорректно функцию и входной тег, как указано выше:

function noNumbers(evt) 
      { 
       var charCode = evt.keyCode || evt.which; 
       if((charCode>=65 && charCode<=90)||(charCode>=97 && charCode<=122)||(charCode==32)||||(charCode==8)) 
        return true; 
       return false; 
      } 
+0

Я сделал, но теперь 'backspace' не работает ... :( –

+0

Я отредактировал свой ответ .. попробуйте сейчас :) – Vikram

+0

Я уже пробовал .. но, не работает ... –

Смежные вопросы