Как получить форму для отправки по клавише ввода, только когда пользователь сосредоточен на вводе логина? - PullRequest
3 голосов
/ 24 ноября 2010

У меня есть 3 поля на странице, и когда пользователь наведет курсор на два из них, я хочу, чтобы определенная кнопка на странице была той, которая нажималась, когда они нажимали ввод.Я использую

<script language="JavaScript"> 

 function stopRKey(evt) {
         var evt = (evt) ? evt : ((event) ? event : null);
         var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
         if ((evt.keyCode == 13) && (node.type == "text")) { return false; }
     }

     document.onkeypress = stopRKey;
</script>

Чтобы остановить поведение по умолчанию, я просто не вижу, как его изменить, чтобы позволить определенным клавишам проходить.Я посмотрел учебник http://asquare.net/javascript/tests/KeyCode.html, но не было очевидно, что происходит.

Кто-нибудь знает, как это сделать, или учебник, который идет по этому поводу?

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010

Используйте jQuery (это должно работать):

$('#input_id').keypress(function(event) {
  if (event.keyCode == '13') {
       // press correct button
   }
});

Сделайте по одному для каждого из ваших полей и укажите на правильную кнопку.

1 голос
/ 24 ноября 2010

Если вы хотите пропустить jQuery, все еще очень просто:

<script language="javascript"> 

document.getElementById('myInput1').addEventListener('keypress', handlePress);
document.getElementById('myInput2').addEventListener('keypress', handlePress);

function handlePress(evt) 
{
    if( evt.keyCode == 13 )
    {
        // execute your function here
        console.log('Enter pressed while in desired text input')
    }
}
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...