Kai345: Auswertung von Radiobuttons ohne Submitbutton

Beitrag lesen

[latex]Mae  govannen![/latex]

Viele unschöner, aber zum Grundverständnis von Javascript vielleicht ein Ansatz:
<script>

inputFields = document.getElementsByTagName("input");
hiddenDivs = document.getElementsByTagName("div");
for (var i=0; i<inputFields.length; i++) {
inputFields[i].onchange = function() {
for (var j=0; j < hiddenDivs.length; j++) {
if(hiddenDivs[j].id === this.value) {
hiddenDivs[j].style.display = "block";
} else {
hiddenDivs[j].style.display = "none";
}
}
}
}


> </script>  
  
Kleine Verbesserungen (außer der von Martin genannten):  
  
Es fehlt jeweils "var" vor inputFields und hiddenDivs.  
Noch besser wäre es, alle verwendeten Variablen am Anfang zu deklarieren,  
bspw.  
  
`var inputFields, hiddenDivs, i; `{:.language-javascript}  
  
oder direkt  
  
~~~javascript
var inputFields = document.getElementsByTagName("input"),  
    hiddenDivs = document.getElementsByTagName("div"),  
    i;

Ansonsten sollte man den display-wert 'block' möglichst immer vermeiden und grundsätzlich '' verwenden, damit ist man dann unabhängig vom Element-Typ (falls man diesen mal wechselt, muß ansonsten das Script ebenfalls angepasst werden).

Daß es insgesamt noch bessere und erweiterte Möglichkeiten gibt, das Problem zu lösen, will ich jetzt nicht weiter ausführen, das wäre dann außerhalb von „Javascript-Grundverständnis“ :)

Stur lächeln und winken, Männer!
Kai

--
It all began when I went on a tour, hoping to find some furniture
 Followed a sign saying "Beautiful Chest", led to a lady who showed me her best)
SelfHTML-Forum-Stylesheet