David Hörpel: Was muss ich in die Klammer der switch-Anweisung schreiben?

Hallo!

Was muss ich denn im folgenden Script in die Klammer der switch-Anweisung schreiben, damit diese funktionniert? Ichj weiß nämlich nicht, was ich dort für eine Variable hineinschreiben soll und in Selfhtml habe ich die Antwort nicht gefunden...

<html><head><title>Test</title>
<style type="text/css">
<!--
.normal { font-style:normal }
-->
</style>
<script type="text/javascript">
<!--
var wert1 = "hallo";
var wert2 = "hallo1";
switch() {
case document.getElementsByName(wert1).checked = true:
location.href= "#"+wert1;
break;
case document.getElementsByName(wert2).checked = true:
location.href= "#"+wert2;
break;
default: alert("There was no found!");
break;
}
//-->
</script>
</head><body>
Das ist der Text.
<a name="hallo" href="#">ddd</a>
</body></html>

Danke für die Hilfe!

Gruß David!

  1. Hallo David,

    Mit switch prüfst Du den Wert _einer_ Variable oder _eines_ Ausdrucks. Das ist bei Dir aber nicht der Fall. Du brauchst:

    if (..) {
    }
    else if (..) {
    }
    ...
    else () {
    }

    Grüße
    Andreas

  2. Hallo.

    Normalerweise läufts so:
    switch(eingabe) {
       case "A" : tuwas(); break;
       case "B" : tuwasandres(); break;
       ...
       default : standardmässigtu(); break;
    }

    Auf deinen Code bezogen:
    Du kannst hier kein switch verwenden, da du ja zwei verschiedene Variablen betrachtest(switch kann nur eine betrachen, im Bsp: eingabe).
    Stattdessen kannst du mit
    if (document.getElementsByName(wert1).checked = true) {
       tuwas();
    } else if (document.getElementsByName(wert2).checked = true) {
       tudasandere();
    } else {
       alert(...);
    }
    genau das machen was du wolltest...

    gruss s

  3. Ups, kurz vertan. Hier nochmal der Link: http://selfhtml.teamone.de/javascript/sprache/bedingt.htm#switch

    MfG

    Max

    1. Hmm. Jetzt hat das Forum meinen ersten Beitrag gar nicht genommen ?!!?
      Egal, schau dir einfach den Link an - da steht's (in SELFHTML).

      Nochmal und zum letzten Mal denke ich

      MfG

      Max