Нажатие клавиши Enter ведет себя как Вкладка в JavaScript

Я надеюсь создавать форму где нажатие фокуса причин клавиши Enter для движения в "следующий" элемент формы на странице. Решение, которое я продолжаю находить в сети...

 

К сожалению, то единственное, кажется, работает в IE. Таким образом, реальная суть этого вопроса - то, если кто-либо знает о решении, которое работает на FF и Chrome? Кроме того, я не должен добавлять onkeydown события к самим элементам формы, но если это - единственный путь, он должен будет сделать.

Эта проблема подобна для опроса 905222, но получение вопроса самого по себе, по-моему.

Править: также, я видел, что люди поднимают проблему, что это не хороший стиль, когда это отличается от поведения формы, к которому привыкли пользователи. Я соглашаюсь! Это - клиентский запрос :(

67
задан Brian Tompsett - 汤莱恩 23 August 2019 в 14:44
поделиться

3 ответа

Вы можете программно перебирать элементы формы, добавляя обработчик onkeydown по мере продвижения. Таким образом, вы можете повторно использовать код.

-2
ответ дан 24 November 2019 в 14:34
поделиться

Если вы можете, я бы пересмотрел это решение: действие по умолчанию - нажатие в то время как в форме отправляет форму и все, что вы делаете, чтобы изменить это действие по умолчанию / ожидаемое поведение может вызвать некоторые проблемы с удобством использования сайта.

0
ответ дан 24 November 2019 в 14:34
поделиться

У меня была похожая потребность. Вот что я сделал:

  <script type="text/javascript" language="javascript">
    function convertEnterToTab() {
      if(event.keyCode==13) {
        event.keyCode = 9;
      }
    }
    document.onkeydown = convertEnterToTab;    
  </script>  
-1
ответ дан 24 November 2019 в 14:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: