add submitHandler helper function to asyncform util

This commit is contained in:
Felix Hamann 2019-02-25 20:41:10 +01:00
parent e9f7cdf682
commit f798142a29

View File

@ -12,7 +12,24 @@
var lastRequestTimestamp = 0; var lastRequestTimestamp = 0;
function setup() { function setup() {
formElement.addEventListener('submit', function(event) { formElement.addEventListener('submit', submitHandler);
}
function processResponse(response) {
var responseElement = document.createElement('div');
responseElement.classList.add(ASYNC_FORM_RESPONSE_CLASS);
responseElement.innerHTML = response.content;
var parentElement = formElement.parentElement;
// make sure there is a delay between click and response
var delay = Math.max(0, ASYNC_FORM_MIN_DELAY + lastRequestTimestamp - Date.now());
setTimeout(function() {
parentElement.insertBefore(responseElement, formElement);
formElement.remove();
}, delay);
}
function submitHandler(event) {
event.preventDefault(); event.preventDefault();
formElement.classList.add(ASYNC_FORM_LOADING_CLASS) formElement.classList.add(ASYNC_FORM_LOADING_CLASS)
@ -36,22 +53,6 @@
}).catch(function(error) { }).catch(function(error) {
console.error('could not fetch or process response from ' + url, { error }); console.error('could not fetch or process response from ' + url, { error });
}); });
});
}
function processResponse(response) {
var responseElement = document.createElement('div');
responseElement.classList.add(ASYNC_FORM_RESPONSE_CLASS);
responseElement.innerHTML = response.content;
var parentElement = formElement.parentElement;
// make sure there is a delay between click and response
var delay = Math.max(0, ASYNC_FORM_MIN_DELAY + lastRequestTimestamp - Date.now());
setTimeout(function() {
parentElement.insertBefore(responseElement, formElement);
formElement.remove();
}, delay);
} }
setup(); setup();