40 lines
1.5 KiB
JavaScript
40 lines
1.5 KiB
JavaScript
document.addEventListener('DOMContentLoaded', () => {
|
|
const contactForm = document.getElementById('appointmentForm');
|
|
if (contactForm) {
|
|
contactForm.addEventListener('submit', async (e) => {
|
|
e.preventDefault();
|
|
|
|
const submitBtn = contactForm.querySelector('button[type="submit"]');
|
|
const originalBtnText = submitBtn.innerHTML;
|
|
|
|
// Basic UI feedback
|
|
submitBtn.disabled = true;
|
|
submitBtn.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Sendet...';
|
|
|
|
const formData = new FormData(contactForm);
|
|
|
|
try {
|
|
const response = await fetch('api/submit_lead.php', {
|
|
method: 'POST',
|
|
body: formData
|
|
});
|
|
|
|
const result = await response.json();
|
|
|
|
if (result.success) {
|
|
alert(result.message);
|
|
contactForm.reset();
|
|
} else {
|
|
alert(result.message || 'Ein Fehler ist aufgetreten.');
|
|
}
|
|
} catch (error) {
|
|
console.error('Error:', error);
|
|
alert('Ein Netzwerkfehler ist aufgetreten. Bitte prüfen Sie Ihre Verbindung.');
|
|
} finally {
|
|
submitBtn.disabled = false;
|
|
submitBtn.innerHTML = originalBtnText;
|
|
}
|
|
});
|
|
}
|
|
});
|