Safari: отключить форму-submit на Enter?
Следующая проблема:
На моем сайте у меня две формы. Один для входа и один для основных данных.
У меня есть только одна кнопка отправки в основной форме.
Форма входа представляется через js на mainform submit.
Это прекрасно работает. Но в Safari я могу нажать Enter, пока мой фокус находится в форме входа. Это приведет к отправке формы входа без основной формы, поэтому я получаю сообщение об ошибке (он перенаправляет меня на простой вид json, который я запрашиваю при отправке).
Можно ли отключить действие "on enter press"?
Ответы
Ответ 1
Если вы говорите, что в любом случае вы используете JS для отправки данных в форме, почему бы не отменить поведение браузера по умолчанию с помощью <form onsubmit="return false;">
. Таким образом, независимо от того, нажмете кнопку отправки или нажмите ввод на входе, он не будет отправлен. Onsubmit = "return false" не должен мешать вызову метода submit() в форме из JS.
Ответ 2
Вы можете добавить обработчик onsubmit для своей формы входа. Этот обработчик может помочь вам предотвратить отправку формы (и, например, переместить курсор в следующее пустое поле в формах);
<form onsubmit="do_some_function(); return false;" ></form>
Чтобы предотвратить отправку формы из формы, верните false в обработчик onsubmit;