Подтвердить что ты не робот

HTML-форма - когда я нажимаю Enter, она обновляет страницу!

Есть ли способ сделать форму НЕ обновлять или называть что-либо, когда вы нажимаете клавишу "Enter" на клавиатуре?

Большое вам спасибо.

Я нашел этот код для предотвращения использования Enter, но он НЕ работает в IE: (

  $(document).ready(function() {
  $(window).keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
}
4b9b3361

Ответ 1

Попробуйте следующее:

$(function() {
    $("form").submit(function() { return false; });
});

Ответ 2

Отключение события submit не является хорошей идеей. Теперь вы можете никогда отправить форму, нажав кнопку, для которой она предназначена.

Скорее зацепите событие keypress:

<form onkeypress="return event.keyCode != 13">

или в jQuery-вкусе:

$('form').keypress(function(event) { 
    return event.keyCode != 13;
}); 

13 - ключевой код Enter. Это работает во всех браузерах от IE6 до всех текущих. Вам нужно только учитывать текстовые поля. Затем вы можете рассмотреть эту конструкцию:

$(':input:not(textarea)').keypress(function(event) { 
    return event.keyCode != 13;
});

Ответ 3

добавить свойство onSubmit в тег формы.

<form onSubmit="return false;">

Ответ 4

Вы можете предотвратить отправку формы с помощью 'enter' ключа изначально , если вы используете AngularJS.

Согласно спецификации HTML и AngularJS, вам необходимо проверить этот список:

  • Форма должна иметь атрибут НЕТ action=... (AngularJS обрабатывает его автоматически)
  • Форма должна иметь НЕТ button с атрибутом type="submit"

Итак, если у вас нет атрибута действия и кнопки отправки, то ваша форма не должна быть отправлена ​​нажатием клавиши ввода.

Кроме того, кросс-браузерный ключевой код:

var code = (e.keyCode ? e.keyCode : e.which);