У меня есть приложение, которое внедряет прослушиватель html-событий для отправки.Мы хотим сделать небольшую проверку и затем вызвать первоначальную отправку.По некоторым причинам мы продолжаем получать «interceptor (evt)», вызываемый в рекурсивном вызове, используя следующее.Мысли?
// SUBMIT OVERRIDES
HTMLFormElement.prototype._submit = HTMLFormElement.prototype.submit;
HTMLFormElement.prototype.submit = interceptor;
console.log("AddEventListener SUBMIT override");
window.addEventListener('submit', function submit_el(e) {
console.log("PK submit calling JS interceptor");
e.preventDefault();
interceptor(e);
}, false);
function interceptor(evt) {
frm = evt ? evt.target : this;
if (!frm.onsubmit || (frm.onsubmit() !== false)) {
// DO SOME STUFF....
console.log("Calling the real form submit which should not call the listener");
frm._submit(); //form submission
console.log("Calling the real form submit - COMPLETED");
}
return false;
}