in src/apache-unomi-tracker.js [1288:1341]
_extractFormData: function (form) {
var params = {};
for (var i = 0; i < form.elements.length; i++) {
var e = form.elements[i];
// ignore empty and undefined key (e.name)
if (e.name) {
switch (e.nodeName) {
case 'TEXTAREA':
case 'INPUT':
switch (e.type) {
case 'checkbox':
var checkboxes = document.querySelectorAll('input[name="' + e.name + '"]');
if (checkboxes.length > 1) {
if (!params[e.name]) {
params[e.name] = [];
}
if (e.checked) {
params[e.name].push(e.value);
}
}
break;
case 'radio':
if (e.checked) {
params[e.name] = e.value;
}
break;
default:
if (!e.value || e.value == '') {
// ignore element if no value is provided
break;
}
params[e.name] = e.value;
}
break;
case 'SELECT':
if (e.options && e.options[e.selectedIndex]) {
if (e.multiple) {
params[e.name] = [];
for (var j = 0; j < e.options.length; j++) {
if (e.options[j].selected) {
params[e.name].push(e.options[j].value);
}
}
} else {
params[e.name] = e.options[e.selectedIndex].value;
}
}
break;
}
}
}
return params;
},