2014-01-23 2 views

ответ

12
$('input').on('keydown', function(event) { 
    var x = event.which; 
    if (x === 13) { 
     event.preventDefault(); 
    } 
}); 
+1

Работы. Мне это нужно для формы AJAX, которая не имеет никакой функции «Отправить». Без этого нажатие «Enter» имеет неожиданный эффект обновления всей страницы. –

-1

решение Простейшее:
Не используйте Submit-кнопку в форме, но и использовать обычную кнопку.
Использование ввода/возврата действует как нажатие кнопки «Отправить»

Кстати, я лично ненавижу формы, которые не позволяют мне использовать Enter/Return.
Это просто раздражает и медлительно, если вам нужно нажать на мышь, чтобы нажать Submit

Также не забывайте, что использование формы «Ввод/Возврат» для отправки формы является частью ее доступности. Отклоняя пользователей таким образом представить форму, вы негативно влияете на людей, нуждающихся в этих функциях доступности.

+0

Если у вас нет слишком большого количества полей ввода в форме, например. У меня было всего 2, вы можете добавить к каждому полю ввода: onkeypress = "javascript: return (event.keyCode! = 13) – Petar

+0

Почему вы используете JavaScript для отключения основных функций формы? Также, если вы когда-нибудь забудете добавьте его в поле ввода, вы все равно можете отправить с помощью ввода. – GroundZero

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