junge: if-else-if

hallo,

ich habe ein javascript:

var a = ...
var b = ...

if(a = b)

alert("blabla");

else if(document.anmelden.name.value="")

alert("blabla222");

else

...

also erst soll a mit b verglichen werden, und wenn das passt,
dann soll noch etwas überprüft werden,

problem ist diese zeile:
else if(document.anmelden.name.value="")

???danke

  1. echo $begrüßung;

    if(a = b)
    else if(document.anmelden.name.value="")

    also erst soll a mit b verglichen werden, und wenn das passt,
    dann soll noch etwas überprüft werden,

    Wenn du vergleichen möchtest solltes du Vergleichsoperatoren verwenden. Zuweisungen und deren Operatoren funktionieren an der stelle auch, haben aber meist eine andere Wirkung als man von einem Vergleich erwartet.

    echo "$verabschiedung $name";

  2. Hallo junge,

    problem ist diese zeile:

    Das ist ja mal eine Superproblembeschreibung.

    Naja schauen wir mal:

    if(a = b)
    also erst soll a mit b verglichen werden

    Du vergleichst a und b aber nicht, sondern weisst dem einen das andere zu, ein Vergleich waere
    if (a == b)

    [...] und wenn das passt,

    Also, selbst wenn (a = b) ein Vergleich waere und die beiden gleich waeren, dann wuerde der Code darunter ausgefuehrt werden, in diesem Fall alert("blabla"). Und dann waere Ende, das Script kaeme also niemals in der ebenfalls zuweisenden statt vergleichenden Zeile

    else if(document.anmelden.name.value="")

    an. Demnach wird es dort wohl auch kein Problem geben.

    Gruß,

    Dieter

    1. if(a != b)

      fehler vom amt,
      sorry

      also auf jeden fall muss man auf else kommen und dann soll noch etwas geprüft werden.

      ich weis nur nicht wie ich das richtig schreibe...

      also?

      else if(document.anmelden.name.value="")

      1. Hallo junge,

        also auf jeden fall muss man auf else kommen und dann soll noch etwas geprüft werden.

        Wenn du eine Reihe von Bedingungen hast (also sowas wie if - elseif - else), dann ist die Ueberpruefung in dem Augenblick gelaufen, wo eine Bedingung zutrifft, alle weiteren Bedingungen musst du _innerhalb_ der gueltigen Bedingung uebrpruefen, also etwa so:
        if(bedingung 1)
        {
            if(bedingung a)
            {
              mach was;
            }
            else
            {
              mach was anderes;
            }
        }
        else if (bedingung 2)
        {
           andere statements...
        }
        else
        {
           sonstwas
        }

        Man kann das auch etwas eleganter machen, zb. die Bedingungen gruppieren oder einen Switch benutzen, aber das Prinzip bleibt gleich, wenn Bedingung zutrifft, werden weitere auf der gleichen Ebene ignoriert.

        else if(document.anmelden.name.value="")

        Noch so ein Fehler vom Amt?
        Nochmal, ein Gleichheitszeichen bedeutet Zuweisung, zwei davon machen einen Vergleich, wenn dir das unklar ist, lies bitte das Kapitel ueber Operatoren

        Gruß,

        Dieter

        1. super, das hat mein problem gelöst...

          -->Wenn du eine Reihe von Bedingungen hast (also sowas wie if - elseif - else), dann ist die Ueberpruefung in dem Augenblick gelaufen, wo eine Bedingung zutrifft, alle weiteren Bedingungen musst du _innerhalb_ der gueltigen Bedingung uebrpruefen, also etwa so:

          bin anfänger und muss deshalb immer mal fragen oder lange suchen...

          danke und schönes we

  3. Hallo dedlfix,

    vergleichsoperatoren können z.B. "==" oder '==='
    sein.

    Liebe Grüße,

    Bernd