Я пытаюсь подключить символ из события нажатия клавиш JavaScript - PullRequest
0 голосов
/ 11 января 2011

Я хотел бы подключить символ, набранный в поле ввода текста, и набрать '1' в поле, если нажата 'a'.

Вот код:

<html>
   <body>

   <script type="text/javascript">

   function translate_code(charCode) {
      switch (charCode) {
         case 65: // 
            return '1' ;

         case 97:
            return '9'; 
      }
   }

   function noEnglish(event) {
      if (event.charCode) {
         var charCode = event.charCode;
      } else {
         var charCode = event.keyCode;
      }

      if (65 <= charCode && charCode <= 90) {
         document.getelementbyid("my_name").value += translate_code(charCode) ;
         event.returnValue = false ;    
      }  
   }
   </script>

   <form>
       <input type="text" name="my_name" id="my_name" onkeydown="noEnglish(event)" />
   </form>

   </body>
   </html>

Ответы [ 2 ]

1 голос
/ 11 января 2011

Во-первых, вы не можете надежно делать то, что вы хотите, с событием keydown, которое касается только нажатой физической клавиши, а не символа, соответствующего этой клавише.Вам нужно событие keypress.

Я уже отвечал на подобные вопросы здесь ранее:

Вот живой пример для вашего требования: http://www.jsfiddle.net/timdown/NAC77/

0 голосов
/ 11 января 2011

Ну, во-первых, если вам нужен символ «а», а не «А», вам придется перейти от символа ASCII 97 до 123, чтобы получить строчные буквы.Вы, вероятно, захотите их всех так - от 65 до 90 и от 97 до 123.

if((charCode >= 65 || charCode <= 90) && (charCode >= 97 || charCode <= 123))
...