Чтобы предотвратить отправку формы при нажатии , введите в поле textarea
или input
, проверьте событие отправки, чтобы определить, какой тип элемента отправил событие.
Пример 1
HTML
<button type="submit" form="my-form">Submit</button>
<form id="my-form">
...
</form>
JQuery
$(document).on('submit', 'form', function(e) {
if (e.delegateTarget.activeElement.type!=="submit") {
e.preventDefault();
}
});
Лучшее решение - если у вас нет кнопки отправки и вы запускаете событие с помощью обычной кнопки. Это лучше, потому что в первом примере 2 события отправки запускаются, но во втором примере срабатывает только 1 событие отправки.
Пример 2
HTML
<button type="button" onclick="$('#my-form').submit();">Submit</button>
<form id="my-form">
...
</form>
JQuery
$(document).on('submit', 'form', function(e) {
if (e.delegateTarget.activeElement.localName!=="button") {
e.preventDefault();
}
});