stonko: hilfe bei code

hallo,

habe folgenden code

<script language="javascript">

function setzen(formular)
{
for (i=0;i<formular.length-1;i++)
{
if (formular.elements[i].checked==true)
document.getElementById("txtFileName").setAttribute("value", document.Formular.value.value);
}
    }
</script>

ich habe mehrere verschiedener radiobuttons, welche beim anklicken einen wert an das textfeld mit der id ("txtFileName") übergeben soll.
dazu soll zuerst abgefragt werden, welcher radiobutton aktiv ist - der name ist ja immer gleich. danach wird per setAttribute() ein neuer value in das txtFileName übergeben.

funzt leider nicht.
kann mir jemand helfen?
danke stonko

  1. Hallo,

    auf den ersten Blick:

    document.getElementById("txtFileName").setAttribute("value", document.Formular.value.value);

    Sieht so aus, als hättest Du einem Formularelement den Namen "value" gegeben, und dessen Value willst Du wieder abfragen. value hat aber in JavaScript eine semantische Bedeutung, das kann zur Verwirrung führen.  Benenne das Fortmularelement mal um, vielleicht war's das ja schon.

    Grüße,

    Utz

    1. Hallo,

      auf den ersten Blick:

      document.getElementById("txtFileName").setAttribute("value", document.Formular.value.value);

      naja nicht ganz. ich will ja das value ersetzen, dazu benötige ich ja beim radiobutton einen eindeutigen parameter. hier mal der code:

      <input type="radio" name="value" value="Bild1.jpg" ID="1" class="radiotbcnthdl" onclick="setzen()"><label for="1" style="margin-left:20px">bild1.jpg</label>

      <input type="radio" name="value" value="bild2.jpg" ID="2" class="radiotbcnthdl" onclick="setzen()"><label for="2" style="margin-left:20px">bild2.jpg</label>

      wenn ich nun einen radiobutton anclicke, soll sich bei onclick
      hier der code ändern:

      <INPUT ID=txtFileName type=text class="textbcnthdl2" " tabIndex=10 onfocus="select()" name="Ergebnisfeld">

      setAttribute() hat ja die eigenschaft, entweder den code zu schreiben bzw. wenn schon werte für value vorhanden sind, diese zu ersetzen.

      mfg.
      stonko

      1. Hallo,

        hast Du es denn wenigstens mal probiert, name="value" durch was anderes zu ersetzen, um das value-Kuddelmuddel bei document.Formular.value.value wegzukriegen?

        Grüße,

        Utz

        1. Hallo,

          ist gar kein kuddelmuddel, weil:

          setAttribute("value", document.Formular.value.value);
          _______________^(1)______________________^(2)__^(3)

          (1) tag welches ersetzt wird
          (2) value, welcher vom input radio kommt
          (3) value welcher übermittelt wird

          habe denoch mal die bezeichner geändert.

          sieht nun so aus:

          setAttribute("value", document.Formular.bildid.value);

          und im radiobutton:

          <input type="radio" name="bildid" value="bild2.jpg" ID="2" class="radiotbcnthdl" onclick="setzen()"><label for="2" style="margin-left:20px">bild2.jpg</label>

          das ganze script funzt trotzdem nicht
          mfg.
          stonko

        2. hallo,

          als fehlermeldung erscheint übrigens immer:

          length ist undefiniert oder null

          kann doch aber gar nicht sein, oder.

          mfg stonko

          1. Hallo,

            als fehlermeldung erscheint übrigens immer:

            length ist undefiniert oder null

            kann doch aber gar nicht sein, oder.

            Doch, weil Du formular.length abfragst. Was soll das sein?
            Probiers mal mit formular.elements.length.

            Ein Element mit dem namen "value" zu versehen, ist trotzdem _keine_ gute Idee.

            Gruß

            Axel