Der Martin: Javascript Switch in Internet Explorer und Firefox

Beitrag lesen

Hallo,

zum besseren Verständnis erlaube ich mir, deine Blöcke in der Reihenfolgu umzustellen:

<form name="menufrm">

<select name="menu1">
<option>A</option>
<option>B</option>
</select>
<select name="menu2">
<option>A</option>
<option>B</option>
<option>C</option>
</select>
<input value="Browse" onclick="test(menu1,menu2)"
type="button">

  

> ~~~javascript

function test(menu1,menu2){  

> switch(menu1.value)  
> { ...

Das Script funktioniert im Firefox wunderbar. Die Einzelfälle werden geparst und je nach Auswahl des Users wird der Pfad im Button zusammengesetzt. Der Internet Explorer im Gegensatz scheint über meine formulierten "cases" hinwegzugehen und substituiert lediglich die Variablen, die unter default: am Ende definiert sind. Alle anderen Variablen, auch wenn sie über die Auswahl des Users und den "case" definiert wurden, bleiben "undefined".

Mit welchem IE testest du? Zumindest der 6er unterstützt für select-Elemente keine value-Eigenschaft; hier musst du über selectedIndex das momentan ausgewählte option-Element bestimmen und dessen value-Eigenschaft auslesen, also
 select.options[select.selectedIndex].value
wenn select eine Referenz auf das entsprechende Elementobjekt ist.

Ich bin mir nicht sicher, ob das im IE7 und IE8 auch noch so ist, oder ob die inzwischen wie der FF direkt über das select-Objekt auf die value-Eigenschaft zugreifen können.

Versteht der IE switches?

Ja.

Warum schaut sich der IE die "cases" nicht an?

Weil er in deinem Fall ein switch (undefined) bearbeiten muss.

Ich bin mir sicher, dass der Fehler irgendwo in meinem Script liegt.

Gewissermaßen, ja. ;-)

Ciao,
 Martin

--
Paradox ist, wenn jemand eingefleischter Vegetarier ist.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(