document.getElementById('contactForm').addEventListener('submit', function(event) { event.preventDefault(); // Prevent default form submission // Get form data const formData = { name: document.getElementById('name').value, email: document.getElementById('email').value, subject: document.getElementById('subject').value, message: document.getElementById('message').value, recaptchaResponse: grecaptcha.getResponse() // Get reCAPTCHA response }; // Validate reCAPTCHA if (!formData.recaptchaResponse) { alert('Please complete the reCAPTCHA.'); return; } // Send AJAX request fetch('/send-email', { // Replace with your backend endpoint method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(formData) }) .then(response => response.json()) .then(data => { if (data.success) { alert('Email sent successfully!'); document.getElementById('contactForm').reset(); // Reset form grecaptcha.reset(); // Reset reCAPTCHA } else { alert('Failed to send email. Please try again.'); } }) .catch(error => { console.error('Error:', error); alert('An error occurred. Please try again.'); }); });