Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Отменить submit формы при нажатии enter (https://javascript.ru/forum/events/16397-otmenit-submit-formy-pri-nazhatii-enter.html)

MaxStoun 06.04.2011 14:43

Отменить submit формы при нажатии enter
 
Добрый день.
Есть форма, в которой есть несколько полей.
Для одного из полей(к примеру поле test1) описано событие keyup и keydown
Нужно что бы при нажатии enter с активным полем test1 не происходил submit формы.
Пробовал описывать
$("#some_id").bind("keydown", function(e) {e.stopPropagation ? e.stopPropagation() : (e.cancelBubble=true); call_user_func(this.value, e);});

Пробовал в call_user_func делать return false, если keycode == 13 , не помогло
Подскажите, как это можно сделать
Читал что можно сделать свой обработчик submit формы, но не хотелось бы.

Спасибо

рони 06.04.2011 15:57

Вариант отмены enter в поле test1 ...
<!DOCTYPE html>
<html>
<head>
  <title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script type="text/javascript">
$(function () {
    $('input[name="test1"]').keypress(function (event) {
        if (event.which == '13') {
            event.preventDefault();
            alert("Enter");
        }
    })
});
</script>
</head>
<body>
<form name="form" action="http://">
<input name="test1" />
<input type="submit" name="" value="Ok" />
</form>
</body>
</html>

MaxStoun 06.04.2011 16:15

Спасибо. Помогло.

MaxStoun 06.04.2011 18:59

Подскажите, а этот код не работает в Opera 11
Что можно сделать ?

рони 06.04.2011 19:21

Код работает и в Opera 11... попробуйте очистить кеш оперы

MaxStoun 07.04.2011 19:00

Вы правы, извините.


Часовой пояс GMT +3, время: 10:30.