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">
<button type="button" class="tb-review-button tb-review-button--secondary"
id="anfrage-bearbeiten">Zurück und bearbeiten</button>
<a class="tb-review-button tb-review-button--primary" id="anfrage-senden" href="#">Anfrage
senden</a>
<button type="button" class="tb-review-button tb-review-button--primary" id="anfrage-senden" disabled>Anfrage
senden</button>
</div>
</div>
</div>
@ -226,13 +226,12 @@
<dialog class="tb-confirm-dialog" id="anfrage-bestaetigung" aria-labelledby="bestaetigung-titel"
aria-describedby="bestaetigung-text">
<span class="kicker">Anfrage vorbereitet</span>
<h2 id="bestaetigung-titel">Terminanfrage</h2>
<p id="bestaetigung-text">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.</p>
<span class="kicker">Termin gebucht</span>
<h2 id="bestaetigung-titel">Terminbestätigung</h2>
<p id="bestaetigung-text">Dein Termin wurde erfolgreich gebucht. Eine Bestätigung wurde an die angegebene E-Mail-Adresse gesendet.</p>
<a class="tb-review-button tb-review-button--primary" href="../index.html">OK, zur Übersicht</a>
</dialog>
</div>
</body>
</html>
</html>

View File

@ -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" });