Как вызвать произвольную функцию при отправке формы?
Есть кнопа submit при нажатии форма отправляется. Как встроить свою функцию перед отправкой формы? Т.е. нажимаем, выполняется моя функция, потом независимо от результата отправляется. Ну и для полного счастья отправка формы зависила от результата выполнения моей функции. Есть ли штатное решение или нужно городить дополнительные теги, на них навешивать вызов моей функции, а затем запускать отправку формы?
На событие submit формы навешивается обработчик, первым параметром принимающий объект события. Для того чтобы остановить отправку необходимо вызвать метод объекта события preventDefault.
Пример:
var myForm = document.getElementById("myForm");
myForm.addEventListener('submit', function(event){
//какой то код
if(условие отмены отправки){
event.preventDefault();
return false;
}
});
Отправка формы не произойдет в случае вызова event.preventDefault(). Если вызова не будет, то отправка произойдет после завершения выполнения функции-обработчика.