document.addEventListener("DOMContentLoaded", function () { const form = document.getElementById("kontaktForm"); const feedback = document.getElementById("feedback"); form.addEventListener("submit", function (e) { e.preventDefault(); feedback.textContent = "Bitte warten ..."; grecaptcha.enterprise.ready(function () { grecaptcha.enterprise.execute("6LdCpWMrAAAAAFC4UjlljOScqP7wNFjf0ol6awVf", { action: "kontakt" }) .then(function (token) { const formData = new FormData(form); const payload = { recaptchaToken: token, formData: Object.fromEntries(formData.entries()) }; fetch("https://60zubhnje2.execute-api.eu-central-1.amazonaws.com/kontakt", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }) .then(res => res.json()) .then(data => { feedback.textContent = data.message || "Danke für deine Nachricht."; }) .catch(() => { feedback.textContent = "Fehler beim Senden."; }); }); }); }); });