Игнорирование onSubmit при нажатии кнопки отправки - PullRequest
1 голос
/ 09 марта 2010

У меня есть форма, в которой я указал onSubmit="validate()", но я хочу игнорировать проверку, если была нажата кнопка отправки. Есть ли хороший кросс-браузерный способ определения, была ли нажата кнопка отправки, и, таким образом, игнорирование проверки?

Ответы [ 5 ]

3 голосов
/ 09 марта 2010

Почему бы вам не использовать кнопку вместо отправки и установить ее действие по нажатию кнопки? Таким образом, вы можете контролировать, хотите ли вы подтвердить, отправить или что-либо еще.

1 голос
/ 09 марта 2010

Событие submit срабатывает, только если форма отправлена ​​пользователем; нет, если оно отправлено через JS.

Таким образом:

<input type="submit" onclick="this.form.submit(); return false;">

Если JS недоступен, это действует как обычная кнопка отправки ... и отправка по-прежнему не срабатывает, так как для этого также требуется JS.

(Присоединение событий с использованием JS вместо внутренних атрибутов событий, как обычно, предпочтительнее, поскольку исключено из этого примера для ясности)

1 голос
/ 09 марта 2010

вы можете попробовать использовать <input type="button"... с onClick, который отправляет форму - javascript .submit() не запускает функцию onSubmit формы.

0 голосов
/ 09 марта 2010

Просто верните false или предотвращение дефолта из вашего обработчика кнопки отправки

0 голосов
/ 09 марта 2010

Вы пробовали это?

<input type="submit" onclick="void(window.validate=function(){return true;})" value="Submit" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...