Форма отправляется дважды при нажатии возврата / ввода - PullRequest
4 голосов
/ 19 февраля 2010

Я использую якоря в качестве ссылок, а также привязываю клавишу ввода / возврата для отправки формы, например:

$("form[name!=smsform]").bind("keyup", function(e){
if(e.keyCode == 13){
$(this).submit();
});

$("a[title=submit]").click( function(){
$(this).parents("form").submit();
});

Однако, когда форма нажимается дважды при нажатии ввода / возврата с использованием приведенного выше кода, мне нужно объединить два фрагмента - кто-нибудь знает, как это сделать?

Ответы [ 3 ]

5 голосов
/ 19 февраля 2010

Форма будет отправлена ​​автоматически при нажатии кнопки ввода, нет необходимости самостоятельно писать код. Если вы хотите добавить какое-либо тестирование в событие enterkey перед отправкой, вы можете вернуть false из функции обратного вызова, чтобы предотвратить действие браузера по умолчанию.

2 голосов
/ 19 февраля 2010

Обычно это означает, что ваша ссылка и в браузере по умолчанию отправляют форму. Чтобы предотвратить это, поместите обработчик в событие submit формы, которое предотвращает (останавливает) его (событие не запускается, когда вы отправляете форму программным способом, поэтому она не будет препятствовать отправке вашей ссылки).

2 голосов
/ 19 февраля 2010

Попробуйте запретить действие клавиши ввода по умолчанию перед вызовом подтверждения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...