2009-09-24 2 views
0

im использование javascript для проверки ключей в текстовом поле. он не работает :(javascript: проверка ключа

function numeric(e) { 
     return ((e.keyCode == 8) || 
       (e.keyCode == 9) || 
       (e.keyCode > 47 && e.keyCode < 58) || 
       (e.keyCode > 36 && e.keyCode < 41) || 
       (e.keyCode == 46) || 
       (e.keyCode > 95 && e.keyCode < 106) || 
       e.keyCode == 190 || 
       e.keyCode == 110); 
    } 

помочь мне ...

+4

«Не работает» довольно расплывчато. Каким образом это неправильно? –

+0

позволяет использовать все ключевые значения ... – 2009-09-24 10:31:34

+1

Теперь с прокруткой на 100% ;-) –

ответ

0

Попробуйте это, если вы хотите цифры только текстовое поле:

function numbercheck(event) { 
    var unicode = event.charCode; var unicode1 = event.keyCode; if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Safari") != -1) { 
     if (unicode1 != 8) { 
      if ((unicode >= 48 && unicode <= 57) || unicode1 == 37 || unicode1 == 39 || unicode1 == 35 || unicode1 == 36 || unicode1 == 9 || unicode1 == 46) 
      { return true; } 
      else 
      { return false; } 
     } 
    } 
    if (navigator.userAgent.indexOf("MSIE") != -1 || navigator.userAgent.indexOf("Opera") == -1) { 
     if (unicode1 != 8) { 
      if (unicode1 >= 48 && unicode1 <= 57) 
      { return true; } 
      else 
      { return false; } 
     } 
    } 
} 

И в вашем текстовом поле называют его на onkeypress события:

onkeypress="return numbercheck(event)" 
1
function numeric(e) { 
    e = e || window.event; 
    keycode = e.keyCode || e.which; 
    if(keycode === 13){ 
     alert("cheese"); 
    } 
} 
+0

Эта функция проверяет, нажата ли клавиша ... Почему? – Warty

0

Я знаю, что в I. E. вы можете установить event.keyCode=0 для подавления клавиши, появляющейся в элементе управления. Но я думаю, вам нужно заманить в ловушку. У Firefox может быть эквивалент. Это хорошо, потому что это предотвращает «фактический» вход в элемент управления.

Также имейте в виду, что вам может потребоваться обработать комбинации клавиш Shift + и Alt +.

хороший метод для отладки такого рода вещей есть windows.status = event.keyCode, и вы можете увидеть, что скан как вы ее ...

0

Просто попробуйте следующий код , Я проверил код F5, вы можете проверить, как вы хотите

function disableKey(event) 
{   
    if (!event) event = window.event; 
    if (!event) return; 
    var keyCode = event.keyCode ? event.keyCode : event.charCode; 
    if (keyCode == 116) { 
    showMsg("This functionality is disabled."); 
    window.status = "F5 key detected! Attempting to disabling default response."; 
    window.setTimeout("window.status='';", 2000); 
    // Standard DOM (Mozilla): 
    if (event.preventDefault) event.preventDefault(); 
    //IE (exclude Opera with !event.preventDefault): 
    if (document.all && event && !event.preventDefault) { 
    event.cancelBubble = true; 
    event.returnValue = false; 
    event.keyCode = 0; 
    } 
    return false; 
    } 
} 

function setEventListenerForFrame(eventListener) 
{ 
    document.getElementById('your_textbox').onkeydown = eventListener; 
    //frames['frame'].document.onkeypress = eventListener; 
} 


<body onload="setEventListener(disableKey);"> 
+0

Я не мог отформатировать ее, просто скопируйте в свой код и попробуйте –

+0

Редактировать ваш пост и используйте кнопку «это код» – Warty

+0

Хорошо ... Спасибо, сделаю это –

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