Как отправить формы с помощью клавиши Enter без кнопки отправки - PullRequest
2 голосов
/ 22 августа 2010

У меня есть jQuery, чтобы пройти все кнопки отправки с помощью кнопки класса и превратить их каждую в элемент привязки с помощью кнопки класса.Якорный элемент с CSS, кросс-браузерный.Есть только одна проблема.Всякий раз, когда я нажимаю клавишу Enter на элементах ввода формы, форма не отправляется.Однако, если я откажусь от кнопки отправки, она снова заработает.В заключение, я не могу получить ключ ввода / возврата для отправки формы, если у меня не видна кнопка отправки (отображать! = Нет).

Как получить форму для отправки, когда я нажимаю клавишу Enter,У меня скрыта кнопка отправки?

Ответы [ 4 ]

3 голосов
/ 22 августа 2010
$("input.button").keydown(function(event) {
   if(event.keyCode == 13)
      $("...find the form...").submit();
});

Это должно сработать.

Если не попробует это:

   $("..find the input button you hide..").css('position', 'absolute')
         .css('top', '-1000px');

Это лучше, чем предлагаемые visibility: hidden решения, поскольку, если вы установите видимость наскрытая кнопка все равно будет «занимать место».

0 голосов
/ 22 августа 2010

Просто используйте обычный form в своем HTML, включая атрибут submit action. После этого вы получите поведение браузера по умолчанию и нажмите Enter в форме, чтобы отправить его. Тогда вам не нужно использовать jQuery для привязки обработчиков событий ко всем вашим кнопкам отправки.

Вы можете проверить это с помощью JSBin .

0 голосов
/ 22 августа 2010

Попробуйте видимость = скрыто

0 голосов
/ 22 августа 2010

Вы пытались изменить видимость на скрытую вместо отображения на нет?

...