Safari: отправка формы с использованием xhrPost при нажатии клавиши Enter - PullRequest
0 голосов
/ 20 апреля 2009

Я связал функцию JavaScript с кнопкой отправки формы, в результате чего форма отправляется через запрос xhrPost (с помощью Dojo). Однако когда пользователь нажимает «Enter» в Safari, форма отправляется обычным способом.

Есть ли способ запретить Safari отправку формы при нажатии клавиши Enter? Могу ли я как-то связать свою функцию JavaScript вместо клавиши ввода?

Заранее большое спасибо!

- Andreas

Ответы [ 3 ]

1 голос
/ 17 июля 2009

Возвращаете ли вы значение false из обработчика onsubmit? Это все, что необходимо для предотвращения обычной отправки формы (при условии, что Javascript включен).

0 голосов
/ 11 июня 2009

Я решил эту проблему, отключив клавишу «Ввод». Не очень элегантно и все еще ищет лучший подход.

$('form').keypress(function (e){ if((e.which==13){ return false; }});

0 голосов
/ 21 апреля 2009

Это, вероятно, происходит из-за ошибки в коде обработчика отправки - Safari отправит форму как обычно, если есть исключение. Проверьте, не отображаются ли на консоли Safari какие-либо ошибки.

У меня также была похожая проблема, когда элементы <input> находились вне тега <form>. Еще раз проверьте это, возможно.

...