From 085e83129d4619ead56342540ff3cfb78409bd9f Mon Sep 17 00:00:00 2001 From: Eline Steinbrecher <2124892@stud.hs-mannheim.de> Date: Tue, 6 Jun 2023 16:56:45 +0200 Subject: [PATCH] =?UTF-8?q?Warenkorb=20anzahl=20=C3=A4ndert=20direkt=20den?= =?UTF-8?q?=20Gesamtbetrag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/javascript/warenkorb.js | 61 ++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/public/javascript/warenkorb.js b/public/javascript/warenkorb.js index a105961..bdb6e8d 100644 --- a/public/javascript/warenkorb.js +++ b/public/javascript/warenkorb.js @@ -62,6 +62,7 @@ window.addEventListener('DOMContentLoaded', function () { berechnePreise(); } + function berechnePreise() { for (let i = 0; i < standardWerte.length; i++) { let preisID = 'gesamtbetrag' + (i + 1); @@ -107,12 +108,68 @@ window.addEventListener('DOMContentLoaded', function () { else if ((/^[0-9]{1,}$/.test(feld1) === false) || (/^[0-9]{1,}$/.test(feld2) === false) || (/^[0-9]{1,}$/.test(feld3) === false) || (/^[0-9]{1,}$/.test(feld4) === false) || (/^[0-9]{1,}$/.test(feld5) === false) || (/^[0-9]{1,}$/.test(feld6) === false)) { event.preventDefault(); - zeigeHinweisfenster("Es stehten keine (gültigen) Nummern in den Feldern. [gültig = positive Zahlen 0-9]") + zeigeHinweisfenster("Es stehen keine (gültigen) Zahlen in den Feldern. [gültig = positive Zahlen 0-9]"); } else { window.location.href = event.target.href; // zeigeHinweisfenster("Feld ist nicht leer"); } } -}); + var menue1 = document.getElementById('menue1'); + var menue2 = document.getElementById('menue2'); + var menue3 = document.getElementById('menue3'); + var gesamtbetrag1 = document.getElementById('gesamtbetrag1'); + var gesamtbetrag2 = document.getElementById('gesamtbetrag2'); + var gesamtbetrag3 = document.getElementById('gesamtbetrag3'); + var gesamtpreis = document.getElementById('gesamtpreis'); + + // Funktion zum Aktualisieren des Gesamtbetrags für Produkt 1 + function updateGesamtbetrag1() { + var menueValue = menue1.value; + var kosten = 0.95; + var gesamtbetrag = kosten * menueValue; + gesamtbetrag1.innerHTML = "Betrag Gesamt (inkl. MwSt.): " + gesamtbetrag.toFixed(2) + "€"; + updateGesamtpreis(); + } + + // Funktion zum Aktualisieren des Gesamtbetrags für Produkt 2 + function updateGesamtbetrag2() { + var menueValue = menue2.value; + var kosten = 2; + var gesamtbetrag = kosten * menueValue; + gesamtbetrag2.innerHTML = "Betrag Gesamt (inkl. MwSt.): " + gesamtbetrag.toFixed(2) + "€"; + updateGesamtpreis(); + } + + // Funktion zum Aktualisieren des Gesamtbetrags für Produkt 3 + function updateGesamtbetrag3() { + var menueValue = menue3.value; + var kosten = 1.1; + var gesamtbetrag = kosten * menueValue; + gesamtbetrag3.innerHTML = "Betrag Gesamt (inkl. MwSt.): " + gesamtbetrag.toFixed(2) + "€"; + updateGesamtpreis(); + } + + // Funktion zum Aktualisieren des Gesamtpreises + function updateGesamtpreis() { + var menueValue1 = menue1.value; + var menueValue2 = menue2.value; + var menueValue3 = menue3.value; + var kosten1 = 0.95; + var kosten2 = 2; + var kosten3 = 1.1; + var gesamtpreisValue = (kosten1 * menueValue1) + (kosten2 * menueValue2) + (kosten3 * menueValue3) + 2.9; + gesamtpreis.innerHTML = gesamtpreisValue.toFixed(2) + "€"; + } + + // Event-Listener für Änderungen der Anzahl + menue1.addEventListener('input', updateGesamtbetrag1); + menue2.addEventListener('input', updateGesamtbetrag2); + menue3.addEventListener('input', updateGesamtbetrag3); + + // Initialisierung des Gesamtbetrags und Gesamtpreises + updateGesamtbetrag1(); + updateGesamtbetrag2(); + updateGesamtbetrag3(); +}); \ No newline at end of file