Marc Olivetti: Mehrere Bedingungen prüfen

Hallo zusammen,

ich verfüge über ein Shop-Script das komplett auf JavaScript basiert. In diesem Shop befinden sich sieben Artikel. Ein achter Artikel wird jetzt hinzugefügt. Dieser soll aber nur in Zusammenhang mit einem der anderen sieben bestellbar sein. Ich möchte das Script also dahingehend ergänzen, dass bei der Übergabe an den Warenkorb über die Mengenfelder ausgelesen wird, ob eine Bestellung zulässig ist.

Dazu habe ich mir folgenden Scriptschnippsel zusammengetragen, der aber nicht funktioniert:

function checkArtikelH() {
 if (artikelA <= 0)
 if (artikelB <= 0)
 if (artikelC <= 0)
 if (artikelD <= 0)
 if (artikelE <= 0)
 if (artikelF <= 0)
 if (artikelG <= 0)
 if (artikelH > 0) {
  alert('Unser Gimmick kann nur zusammen mit einem\n anderen Artikel bestellt werden.');
 }
 else document.location.href="orderbasket.htm";
 }

Kann mir bitte jemand helfen, dieses Problem einfach zu lösen?

Viele Grüße
Marc

  1. Hallo,

    ich kann dir nur empfehlen dich mal über den && Operator schlau zu machen.

    gruss

    --
    no strict;
    no warnings;
    man google
    1. Danke Eternius,

      das war genau, was ich suchte. Etwas probiert mit den Werten - und jetzt läufts!

      Viele Grüße
      Marc

  2. function checkArtikelH() {
    if (artikelA <= 0)
    if (artikelB <= 0)
    if (artikelC <= 0)
    if (artikelD <= 0)
    if (artikelE <= 0)
    if (artikelF <= 0)
    if (artikelG <= 0)
    if (artikelH > 0) {
      alert('Unser Gimmick kann nur zusammen mit einem\n anderen Artikel bestellt werden.');
    }
    else document.location.href="orderbasket.htm";
    }

    Marc,
    Der Fehler ist, dass der else-Zweig sich nur auf die letzte if-Abfrage bezieht.

    Abhilfe schaffen ODER (A...G) und UND (das Ganze mit H) in einer if-Anweisung. Oder nach Anwenwendung der De Morganschen Gesetze nur noch UND oder ODER.

    Gunnar

    --
    „Solang wir noch tanzen können
    und richtig echte Tränen flennen,
    ist noch alles offen,
    ist noch alles drin.“
    (Gundermann)