Don P: Value entnehmen und weitersenden

Beitrag lesen

Hallo,

<script type="text/javascript">
            function open() {
            farbe = document.getElementById("farbauswahl").value;
            top.location.href='farben.php?farbe=' + farbe;
            }
        </script>

<select id="farbauswahl" onchange="open()" name="Farbe" size="1">

Warum denn einfach, wenn's auch umständlich geht, gelle.
Gefällt dir meine Lösung nicht, oder hast du sie gar nicht gelesen?

Der einzige Schönheitsfehler daran ist, dass im HTML-Attribut ein JavaScript-Befehl notiert ist. Das ist halt kein besonders schöner Stil.

Aber für deine Lösung gilt genau dasselbe:
Mit onchange="oeffnen()" hast du ebenfalls einen JavaScript-Befehl im HTML-Attribut stehen. Wozu dann also der Umstand mit einer separaten Funktion?

Wirklich besser wäre es z.B. so:

  
<select id="farbauswahl" name="Farbe" size="1">  
  <option value="1">rot</option>  
  <option value="4">schwarz</option>  
  <option value="2">blau</option>  
  <option value="6">gruen</option>  
  <option value="3">rosa</option>  
</select>  
  
<script type="text/javascript">  
[code lang=javascript]  
  document.getElementById("farbauswahl").onchange = function () {top.location.href = 'farben.php?farbe=' + this.value;}

</script>[/code]

Dieses Script sollte übrigens nicht *vor* dem select-tag stehen, weil document.getElementById() sonst ins Leere greifen würde, da das select-tag mit der id "farbauswahl" erst später existiert.

Gruß, Don P