berdn: Setzen des Formularnamen durch eine Variable

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

  1. 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

    1. 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

      1. 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