PiCoderman
@PiCoderman

Событие нажатия 'Enter' в форме(input)?

Есть форма :
<form id="form">
  <input type="text" />
</form>

Нужно чтобы когда на ней был фокус при нажатии Enter выполнялась функция и ничего не отправлялось и страница не перезагружалась. Как такое сделать ?
  • Вопрос задан
  • 68934 просмотра
Решения вопроса 1
@IceJOKER
Web/Android developer
$("#id_of_input").keyup(function(event){
    if(event.keyCode == 13){
        event.preventDefault();

    }
});


Чистый js - stackoverflow.com/questions/905222/enter-key-press... - научитесь пользоваться поиском

p.s. если нужно перехватить просто отправку формы, а не именно Enter, то можно юзать onsubmit или submit(), что более разумно для этой цели )
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
delch
@delch
Frontend developer
В браузерах реализована такая логика, что при нажатии enter находять на элементах внутри form срабатывает событие submit, следовательно можно просто подписаться на него и всё.

$("form").on("submit", function(){
// code there
})
Ответ написан
Комментировать
4ikist
@4ikist
<form id="form" onsubmit="fnc()">
  <input type="text"/>
</form>


<script>
function fnc(){
{
// что то делаем
}
return false;
}
</script>


можно return false перенести прямо в onsubmit.

Рекомендательно пользоваться байндингами.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы