Form submit logic
This commit is contained in:
@@ -7,3 +7,47 @@ if (document.body.classList.contains("hero")) {
|
||||
document.body.classList.remove("scroll");
|
||||
});
|
||||
}
|
||||
document.querySelector('form').addEventListener('submit', function (e) {
|
||||
var targetUrl = e.target.action;
|
||||
// Load form data
|
||||
var formParameter = GetFormParameter(e.target);
|
||||
// Build url
|
||||
var queryString = Object.keys(formParameter).map(function (k) { return encodeURIComponent(k) + "=" + encodeURIComponent(formParameter[k]); }).join("&");
|
||||
var getUrl = targetUrl + "?" + queryString;
|
||||
// Perform get request
|
||||
var xmlHttp = new XMLHttpRequest();
|
||||
xmlHttp.open("GET", getUrl);
|
||||
xmlHttp.send();
|
||||
// Cleanup
|
||||
e.target.reset();
|
||||
alert("Anmeldung abgeschickt");
|
||||
e.preventDefault();
|
||||
});
|
||||
function GetFormParameter(form) {
|
||||
var params = new Array();
|
||||
var length = form.elements.length;
|
||||
for (var i = 0; i < length; i++) {
|
||||
var element = form.elements[i];
|
||||
if (element.tagName == 'TEXTAREA' || element.tagName == 'SELECT') {
|
||||
params[element.name] = element.value;
|
||||
}
|
||||
else if (element.tagName == 'INPUT') {
|
||||
if (element.type == 'text' || element.type == 'email' || element.type == 'hidden' || element.type == 'password') {
|
||||
params[element.name] = element.value;
|
||||
}
|
||||
else if (element.type == 'radio' && element.checked) {
|
||||
if (!element.value)
|
||||
params[element.name] = "on";
|
||||
else
|
||||
params[element.name] = element.value;
|
||||
}
|
||||
else if (element.type == 'checkbox' && element.checked) {
|
||||
if (!element.value)
|
||||
params[element.name] = "on";
|
||||
else
|
||||
params[element.name] = element.value;
|
||||
}
|
||||
}
|
||||
}
|
||||
return params;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user