51 lines
1.7 KiB
JavaScript
51 lines
1.7 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function () {
|
|
const surveyForm = document.getElementById('survey-form');
|
|
if (!surveyForm) return;
|
|
|
|
const successMessage = document.getElementById('success-message');
|
|
const formContainer = document.querySelector('.form-container');
|
|
|
|
surveyForm.addEventListener('submit', function (e) {
|
|
e.preventDefault();
|
|
|
|
const name = document.getElementById('name').value.trim();
|
|
const email = document.getElementById('email').value.trim();
|
|
const message = document.getElementById('message').value.trim();
|
|
|
|
if (name === '' || email === '' || message === '') {
|
|
alert('Please fill out all fields.');
|
|
return;
|
|
}
|
|
|
|
if (!validateEmail(email)) {
|
|
alert('Please enter a valid email address.');
|
|
return;
|
|
}
|
|
|
|
const formData = new FormData(this);
|
|
|
|
fetch('submit_feedback.php', {
|
|
method: 'POST',
|
|
body: formData
|
|
})
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
if (data.success) {
|
|
formContainer.classList.add('hidden');
|
|
successMessage.classList.remove('hidden');
|
|
} else {
|
|
alert('An error occurred: ' + data.error);
|
|
}
|
|
})
|
|
.catch(error => {
|
|
console.error('Error:', error);
|
|
alert('A server error occurred. Please try again later.');
|
|
});
|
|
});
|
|
|
|
function validateEmail(email) {
|
|
const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
return re.test(String(email).toLowerCase());
|
|
}
|
|
});
|