Setzen des Formularnamen durch eine Variable
berdn
- javascript
Hallo Listies,
ich habe ein JavaSriptverständnis Problem:
Ich will den Namen eines Form elementes durch über eine Variable ansprechen.
Beispiel:
<form name="MeinFormular">
<input type="radio" name="MeineFrage" value="xy">
Funktioniert das:
document.MeinFormular.MeineFrage[0].checked= true;
Aber das nicht
meineVariable = "MeineFrage"
document.MeinFormular.meineVariable[0].checked= true;
Hat irgendjemand einen Tip ?
Hab im Archiv dazu nichts gefunden.
Schonmal tausend Dank.
Berdn
Hi berdn,
<form name="MeinFormular">
<input type="radio" name="MeineFrage" value="xy">
... das [geht] nicht
meineVariable = "MeineFrage"
document.MeinFormular.meineVariable[0].checked= true;
hiesse interpretiert:
document.MeinFormular."MeineFrage"[0].checked= true;
=> klassischer Fall von Speisekarte und Essen verwechselt ;-)
entweder:
meineVariable = document.MeinFormular.MeineFrage;
meineVariable[0].checked = true;
meineVariable ist ein Objekt, das ein Stück des Formulars enhält (nämlich
die checkboxen die MeineFrage heissen.)
oder
meineVariable = "MeineFrage";
document.MeinFormular.elements[meineVariable][0].checked= true;
meineVariable ist ein String, der den Objektnamen enthält.
letzteres ist gleichwertig zu
document.MeinFormular.elements["MeineFrage"][0].checked= true;
und das ist legal.
<../../tecbbda.htm>
(Die Notation mit dem "namen" statt der Indexnummer findest du unter
<../../tecbbd.htm> (2.Beispiel), das geht
auch für die Elemente.)
Hab im Archiv dazu nichts gefunden.
steht ja auch 'schon' in Selfhtml ;-)
Gruss,
Carsten
Tausend Dank Carsten,
hast mir schon sehr geholfen !
Das klappt hervorragend:
document.MeinFormular.elements["MeineFrage"][0].checked= true;
Einen habe ich aber noch,
die Frage hat 3 Radio-Buttons als Antwortmöglichkeiten (3 veschiedene Values),
den Value und den Namen krieg ich raus über
onClick= "clickRadio(this.name,this.value)"
Komme ich über den Value an die Stelle der Antwort im "Elementen-Array" ?
Berdn
Hallo Berdn,
document.MeinFormular.elements["MeineFrage"][0].checked= true;
[...]
onClick= "clickRadio(this.name,this.value)"Komme ich über den Value an die Stelle der Antwort im "Elementen-Array" ?
nur per Handarbeit: Schleife über alle Elemente und value vergleichen.
Gruss,
Carsten