mirror of
https://github.com/hazemKrimi/personal-website.git
synced 2026-05-02 02:10:27 +00:00
Handle form without redirect
This commit is contained in:
@@ -1,4 +1,32 @@
|
||||
document.querySelector('form').addEventListener('submit', (event) => {
|
||||
const form = document.querySelector('form');
|
||||
const submissionStatus = form.querySelector('#submission-status');
|
||||
|
||||
form.addEventListener('submit', (event) => {
|
||||
event.preventDefault();
|
||||
console.log(new FormData(event.target));
|
||||
|
||||
fetch(event.target.action, {
|
||||
method: event.target.method,
|
||||
body: new FormData(event.target),
|
||||
headers: {
|
||||
Accept: 'application/json',
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
if (response.ok) {
|
||||
submissionStatus.innerHTML = 'Message sent successfully!';
|
||||
submissionStatus.style.display = 'block';
|
||||
form.reset();
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
submissionStatus.innerHTML = 'Error sending message!';
|
||||
submissionStatus.style.display = 'block';
|
||||
console.error(error);
|
||||
})
|
||||
.finally(() => {
|
||||
setTimeout(() => {
|
||||
submissionStatus.innerHTML = '';
|
||||
submissionStatus.style.display = 'none';
|
||||
}, 5000);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user