Max-Leonhard: SELECT Box mit display zeigen / verstecken

Hallo,

Ich knobel schon länger an der Möglichkeit mittels

onclick()

Auf einem Radiobutton bestimmte Dropdownmenüs in einem Formular auftauchen zu lassen. Also, falls jemand den Radiobutton für "Rockmusik" klickt, sollte das Dropdown für "Subgenre Rock" auftauchen mit z.B. "Softrock", "Hardrock" als Auswahlmöglichkeit.

Im HTML sieht das bisher so aus:

<input type="radio" name="maingenre" value="Electro" onclick="showhide('peter')"> Electro<br>
 </td></tr>

<tr><td>Sub Genre</td>
 <td>
<select name="subelectro" size="1" Id="peter" style="display:none">
<option>Digital Hardcore</option>
</select>

Und im Javascript so:

function showhide(k){

if (document.all.getElementById(k).style=="display:none"){

document.all.getElementById(k).style="display:block"

}
  else {

document.all.getElementById(k).style="display:none"

}
}

Ich hatte das schon mal hinbekommen, aber irgendwo stimmt was nicht. Es kommt nur als "Dieses Objekt unterstützt die Eigenschaft oder Methode nicht".

Vielen Dank schon mal im Vorraus und ich hoffe mit kann jemand nen Denkanstoss geben, was ich falsch gemacht habe.

Viele Grüße,

Max

  1. Guten Tag!

    if (document.all.getElementById(k).style=="display:none"){

    document.all gibt's nur beim IE und ist deshalb bäh. getElementById() ist wiederum kein IE-Gebräu und befindet sich unter document, nicht document.all.

    Unter style kannst Du die Eigenschaften direkt ansprechen. Mit Abfragen/Setzen von document.all.getElementById(k).style.display sollte Dein Vorhaben also realisierbar sein.

    Grüße.

    PS: Firefox bietet einen DOM-Inspektor, sehr hilfreich, um sich durch das Objektchaos einer Webseite zu wühlen.