in src/apache-unomi-tracker.js [1313:1348]
_formSubmitEventListener: function (event) {
console.debug('[WEM] Registering form event callback');
var form = /** @type {HTMLFormElement} */(event.target);
var formName = form.getAttribute('name') ? form.getAttribute('name') : form.getAttribute('id');
if (formName && wem.formNamesToWatch.indexOf(formName) > -1) {
console.debug('[WEM] catching form ' + formName);
var eventCopy = document.createEvent('Event');
// Define that the event name is 'build'.
eventCopy.initEvent('submit', event.bubbles, event.cancelable);
event.stopImmediatePropagation();
event.preventDefault();
wem.collectEvent(wem.buildFormEvent(formName, form),
function () {
form.removeEventListener('submit', wem._formSubmitEventListener, true);
form.dispatchEvent(eventCopy);
if (!eventCopy.defaultPrevented && !eventCopy.cancelBubble) {
form.submit();
}
form.addEventListener('submit', wem._formSubmitEventListener, true);
},
function (xhr) {
console.error('[WEM] Error while collecting form event: ' + xhr.status + ' ' + xhr.statusText);
xhr.abort();
form.removeEventListener('submit', wem._formSubmitEventListener, true);
form.dispatchEvent(eventCopy);
if (!eventCopy.defaultPrevented && !eventCopy.cancelBubble) {
form.submit();
}
form.addEventListener('submit', wem._formSubmitEventListener, true);
}
);
}
},