-Tom-: Eingabefeld ein-/ausblenden über Dropdownmenü

Beitrag lesen

Hi,

ich will ein Eingabefeld einblenden, wenn bei einer Dropdownliste ein bestimmer Eintrag gewählt wurde. Bei allen anderen Dropdowneinträgen soll das Eingabefeld nicht angezeigt werden.

Ich habe zwar ein Script gefunden, dass macht aber entweder im IE Probleme, oder aber im FF und Opera.

So sieht das ganze aus:

  
<script type="text/javascript">  
<!--  
function Number(){  
 if(document.getElementById('dropdown').selectedIndex == 3)  
 {  
   document.getElementById('alt').style.visibility = "visible";  
 }  
 else  
 {  
   document.getElementById('alt').style.visibility = "hidden";  
 }  
}  
//-->  
</script>  

Und das Dropdownmenü:

  
<select name="Numbers" id="dropdown" onchange="Number()">  
  <option selected>0</option>  
  <option>1</option>  
  <option>2</option>  
  <option>X</option>  
</select>  
<br>  
<input type="text" size="5" id="alt" name="alt" value="Alternative" style="visibility:hidden;">

Jetzt ergeben sich folgende Probleme:

Im FF und Opera wird das Eingabefeld zu Beginn _immer_ erst angezeigt. Wähle ich dann einen anderen Eintrag (auch wenn ich wieder zurück zum ersten wechsle) verschwindet das Eingabefeld, beim letzten Eintrag wird es wieder korrekt eingeblendet. Im IE ist alles korrekt.

Also dachte ich, setze doch einfach den letzten Eintrag an die erste Stelle im Menü, dann wäre ja egal, wenn er fälschlicherweise zunächst angezeigt wird.

Aber Pustekuchen, jetzt machen FF und Opera es korrekt, nur der IE hat jetzt quasi genau das inverse Problem. Sprich:

Das Eingabefeld wird zu Beginn _nicht_ angezeigt. Wähle ich einen anderen Eintrag, bleibt es wie gewünscht ausgeblendet, erst wenn ich dann wieder zum ersten Eintrag wechsle, wird es angezeigt.

Weiß jemand, was man da machen könnte?