From 87bc147ab3a284cf1a5cfc277cc0fe1e0e91cf6a Mon Sep 17 00:00:00 2001 From: 3015418 <3015418@stud.th-mannheim.de> Date: Sun, 4 Oct 2026 17:20:47 +0200 Subject: [PATCH] =?UTF-8?q?Terminbest=C3=A4tigung=20ohne=20E-Mail-Programm?= =?UTF-8?q?=20anzeigen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/terminbuchung.html | 13 ++++++------- js/terminbuchung-form.js | 33 +++++---------------------------- 2 files changed, 11 insertions(+), 35 deletions(-) diff --git a/html/terminbuchung.html b/html/terminbuchung.html index 7089ae1..78b4076 100644 --- a/html/terminbuchung.html +++ b/html/terminbuchung.html @@ -174,8 +174,8 @@
- Anfrage - senden +
@@ -226,13 +226,12 @@ - Anfrage vorbereitet -

Terminanfrage

-

Deine Terminanfrage wurde an dein E-Mail-Programm übergeben. Sende sie dort - bitte ab. Wir prüfen deinen Wunschtermin und schicken dir anschließend eine Bestätigung per E-Mail.

+ Termin gebucht +

Terminbestätigung

+

Dein Termin wurde erfolgreich gebucht. Eine Bestätigung wurde an die angegebene E-Mail-Adresse gesendet.

OK, zur Übersicht
- \ No newline at end of file + diff --git a/js/terminbuchung-form.js b/js/terminbuchung-form.js index 858d4e9..c108b65 100644 --- a/js/terminbuchung-form.js +++ b/js/terminbuchung-form.js @@ -1,7 +1,7 @@ // Online-Terminbuchung – Buchungsseite (html/terminbuchung.html). // Liest den gewählten Termin aus der URL (berater, datum, zeit), füllt die // Zusammenfassung, verwaltet die Anamnese-Tags und prüft das Formular. -// Zum Absenden wird wie auf der Kontaktseite das E-Mail-Programm geöffnet. +// Die Bestätigung wird nur auf der Seite angezeigt; es wird keine E-Mail versendet. // ----- Scroll-Reveal ----- (function () { @@ -115,7 +115,6 @@ const form = document.getElementById("terminbuchung-formular"); if (!form) return; - const EMAIL_TARGET = "info@trihub.de"; const bestaetigungDialog = document.getElementById("anfrage-bestaetigung"); const fields = { @@ -133,7 +132,7 @@ const pruefBereich = document.getElementById("anfrage-pruefen"); const pruefDetails = document.getElementById("anfrage-pruefen-details"); const bearbeitenButton = document.getElementById("anfrage-bearbeiten"); - const sendenLink = document.getElementById("anfrage-senden"); + const sendenButton = document.getElementById("anfrage-senden"); function wrap(el) { return el.closest(".field"); @@ -233,7 +232,7 @@ `; pruefBereich.hidden = true; formularBereich.hidden = false; - sendenLink.removeAttribute("href"); + sendenButton.disabled = true; showStatus("error", text); updateSubmitState(); } @@ -299,15 +298,13 @@ formularBereich.scrollIntoView({ behavior: "smooth", block: "start" }); }); - sendenLink.addEventListener("click", function (event) { - event.preventDefault(); + sendenButton.addEventListener("click", function () { if (!terminIstGueltig()) { terminFehlerAnzeigen("Der Termin ist nicht mehr gültig. Bitte wähle einen neuen Termin."); formularBereich.scrollIntoView({ block: "start" }); return; } bestaetigungDialog.showModal(); - window.location.href = sendenLink.href; }); form.addEventListener("submit", function (event) { @@ -345,28 +342,8 @@ ["Telefon", fields.phone.value.trim() || "–"] ]; - const body = [ - "Terminanfrage – Trainingsplan & Beratung", - "", - "Termin: " + terminText, - "Berater/in: " + beraterText, - "Art der Ernährungsberatung: " + labelVon("art"), - "Beratungsformat: " + labelVon("format"), - "Gesprächsart: " + labelVon("gespraech"), - "", - "Kurzbeschreibung: " + (fields.beschreibung.value.trim() || "–"), - "Anamnese (Allergien & Unverträglichkeiten): " + (tagListe.length ? tagListe.join(", ") : "–"), - "", - "Name: " + fields.name.value.trim(), - "E-Mail: " + fields.email.value.trim(), - "Telefon: " + (fields.phone.value.trim() || "–") - ].join("\n"); - werteAnzeigen(anfrageDaten); - sendenLink.href = - "mailto:" + EMAIL_TARGET + - "?subject=" + encodeURIComponent("Terminanfrage: " + terminText) + - "&body=" + encodeURIComponent(body); + sendenButton.disabled = false; formularBereich.hidden = true; pruefBereich.hidden = false; pruefBereich.scrollIntoView({ behavior: "smooth", block: "start" });