Вместо того, чтобы перехватывать событие, вы пытались перехватить сам вызов submit()
?Вы можете сделать что-то вроде замены функции submit()
по умолчанию на любой из ваших вариантов, который отправляется, только если установлен какой-либо флаг.Например:
var formElem = document.getElementById("myForm");
formElem.oldSubmit = formElem.submit;
formElem.submit = function(myFlag) {
if (myFlag) {
document.getElementById("myForm").oldSubmit();
}
};