async function formClick(ev) {
    ev.preventDefault();

    let { target } = ev;

    let fData = new FormData(target);

    for (let file of target.querySelectorAll('.form-input')) {
        file.value = null;
        file.textContent = '';
    }

    let fetched = await fetch(target.action, {
        'method': 'POST',
        'body': fData
    });

    let json = await fetched.json();

    target.querySelector('.form-message').textContent = json.message;

    if (json.redirect && json.success) {
        setTimeout(function () {
            window.location.href = json.redirect;
        }, 2000);
    }
}

window.onload = function () {
    document.addEventListener('submit', formClick);
}