Terminbestätigung ohne E-Mail-Programm anzeigen

sprint3-final-fix
3015418 2026-10-04 17:20:47 +02:00
parent 1620bf4f89
commit 87bc147ab3
2 changed files with 11 additions and 35 deletions

View File

@ -174,8 +174,8 @@
<div class="tb-review-actions"> <div class="tb-review-actions">
<button type="button" class="tb-review-button tb-review-button--secondary" <button type="button" class="tb-review-button tb-review-button--secondary"
id="anfrage-bearbeiten">Zurück und bearbeiten</button> id="anfrage-bearbeiten">Zurück und bearbeiten</button>
<a class="tb-review-button tb-review-button--primary" id="anfrage-senden" href="#">Anfrage <button type="button" class="tb-review-button tb-review-button--primary" id="anfrage-senden" disabled>Anfrage
senden</a> senden</button>
</div> </div>
</div> </div>
</div> </div>
@ -226,13 +226,12 @@
<dialog class="tb-confirm-dialog" id="anfrage-bestaetigung" aria-labelledby="bestaetigung-titel" <dialog class="tb-confirm-dialog" id="anfrage-bestaetigung" aria-labelledby="bestaetigung-titel"
aria-describedby="bestaetigung-text"> aria-describedby="bestaetigung-text">
<span class="kicker">Anfrage vorbereitet</span> <span class="kicker">Termin gebucht</span>
<h2 id="bestaetigung-titel">Terminanfrage</h2> <h2 id="bestaetigung-titel">Terminbestätigung</h2>
<p id="bestaetigung-text">Deine Terminanfrage wurde an dein E-Mail-Programm übergeben. Sende sie dort <p id="bestaetigung-text">Dein Termin wurde erfolgreich gebucht. Eine Bestätigung wurde an die angegebene E-Mail-Adresse gesendet.</p>
bitte ab. Wir prüfen deinen Wunschtermin und schicken dir anschließend eine Bestätigung per E-Mail.</p>
<a class="tb-review-button tb-review-button--primary" href="../index.html">OK, zur Übersicht</a> <a class="tb-review-button tb-review-button--primary" href="../index.html">OK, zur Übersicht</a>
</dialog> </dialog>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,7 +1,7 @@
// Online-Terminbuchung – Buchungsseite (html/terminbuchung.html). // Online-Terminbuchung – Buchungsseite (html/terminbuchung.html).
// Liest den gewählten Termin aus der URL (berater, datum, zeit), füllt die // Liest den gewählten Termin aus der URL (berater, datum, zeit), füllt die
// Zusammenfassung, verwaltet die Anamnese-Tags und prüft das Formular. // 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 ----- // ----- Scroll-Reveal -----
(function () { (function () {
@ -115,7 +115,6 @@
const form = document.getElementById("terminbuchung-formular"); const form = document.getElementById("terminbuchung-formular");
if (!form) return; if (!form) return;
const EMAIL_TARGET = "info@trihub.de";
const bestaetigungDialog = document.getElementById("anfrage-bestaetigung"); const bestaetigungDialog = document.getElementById("anfrage-bestaetigung");
const fields = { const fields = {
@ -133,7 +132,7 @@
const pruefBereich = document.getElementById("anfrage-pruefen"); const pruefBereich = document.getElementById("anfrage-pruefen");
const pruefDetails = document.getElementById("anfrage-pruefen-details"); const pruefDetails = document.getElementById("anfrage-pruefen-details");
const bearbeitenButton = document.getElementById("anfrage-bearbeiten"); const bearbeitenButton = document.getElementById("anfrage-bearbeiten");
const sendenLink = document.getElementById("anfrage-senden"); const sendenButton = document.getElementById("anfrage-senden");
function wrap(el) { function wrap(el) {
return el.closest(".field"); return el.closest(".field");
@ -233,7 +232,7 @@
`; `;
pruefBereich.hidden = true; pruefBereich.hidden = true;
formularBereich.hidden = false; formularBereich.hidden = false;
sendenLink.removeAttribute("href"); sendenButton.disabled = true;
showStatus("error", text); showStatus("error", text);
updateSubmitState(); updateSubmitState();
} }
@ -299,15 +298,13 @@
formularBereich.scrollIntoView({ behavior: "smooth", block: "start" }); formularBereich.scrollIntoView({ behavior: "smooth", block: "start" });
}); });
sendenLink.addEventListener("click", function (event) { sendenButton.addEventListener("click", function () {
event.preventDefault();
if (!terminIstGueltig()) { if (!terminIstGueltig()) {
terminFehlerAnzeigen("Der Termin ist nicht mehr gültig. Bitte wähle einen neuen Termin."); terminFehlerAnzeigen("Der Termin ist nicht mehr gültig. Bitte wähle einen neuen Termin.");
formularBereich.scrollIntoView({ block: "start" }); formularBereich.scrollIntoView({ block: "start" });
return; return;
} }
bestaetigungDialog.showModal(); bestaetigungDialog.showModal();
window.location.href = sendenLink.href;
}); });
form.addEventListener("submit", function (event) { form.addEventListener("submit", function (event) {
@ -345,28 +342,8 @@
["Telefon", fields.phone.value.trim() || "–"] ["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); werteAnzeigen(anfrageDaten);
sendenLink.href = sendenButton.disabled = false;
"mailto:" + EMAIL_TARGET +
"?subject=" + encodeURIComponent("Terminanfrage: " + terminText) +
"&body=" + encodeURIComponent(body);
formularBereich.hidden = true; formularBereich.hidden = true;
pruefBereich.hidden = false; pruefBereich.hidden = false;
pruefBereich.scrollIntoView({ behavior: "smooth", block: "start" }); pruefBereich.scrollIntoView({ behavior: "smooth", block: "start" });