Marc: Auslesen von input-felder mit variable

Hallo

in meinem Formular gibt es mehrere Felder à la:

<input type="text" name="feld_1_name">
<input type="text" name="feld_2_name">
<input type="text" name="feld_3_name">

die Zahlen werden dabei vom php Script fortlaufend verteilt.

nun habe ich eine javascript Funktion, die die Zahl aufnimmt und weiter verabeitet, geht bis dahin auch wunderbar.

function window(i) {

}

aber wie bekomm ich jetzt den value von dem feld_i_name aus dem js angesprochen?
document.formular.feld_i_name.value geht nicht
document.formular.feld_[i]_name.value geht nicht
'document.formular.feld'+i+'name.value' geht nicht
etc...
man sieht, ich hab nicht wirklich Ahnung und die Antwort wird sicherlich simpel sein, aber ich komm nunmal nicht drauf :(

Marc

  1. okay. habs gefunden
    c=eval('document.formular.feld'+i+'name.value');
    ging wohl doch, nur anders. ich sag ja: simpel :)

  2. Hallo Marc,

    aber wie bekomm ich jetzt den value von dem feld_i_name aus dem js angesprochen?

    mit hilfe von elements[]:
    document.formular.elements['feld_'+i+'_name'].value
    siehe auch http://selfhtml.teamone.de/javascript/objekte/elements.htm#allgemeines.

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  3. Geht auch einfacher:

    statt >document.formular.feld_i_name.value<
    mach einfach >document.getElementById("feld"+i+"name").value<

    1. Hallo,

      statt >document.formular.feld_i_name.value<
      mach einfach >document.getElementById("feld"+i+"name").value<

      das geht aber nur, wenn das Feld ein id-Attribut hat - was aber im Code von Marc nicht so war (ja, ich weiß, der IE macht das, obwohl es falsch ist, trotzdem) - wenn schon dann document.getElementsByName('feld'+i+'name').value.

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
      1. hi,

        wenn schon dann document.getElementsByName('feld'+i+'name').value.

        wenn man mit "wenn schon, dann ..." sprüchen kommt, dann sollte man auch wenigstens 100%ig korrekten code posten ;-)

        da der name nicht dokumentweit eindeutig sein muss, sondern mehrfach vorkommen kann, liefert getElementsByName _immer_ ein array zurück, so dass auch noch der array-index beim zugriff angegeben werden muss.

        also, "wenn schon, dann":

        document.getElementsByName('feld'+i+'name')[x].value

        wobei x die gültige nummer eines elementes mit dem feldnamen 'feld'+i+'name' ist - wenn es nur ein solches gibt, dann _muss_ auch hier trotzdem mit dem array-index 0 zugegriffen werden.

        gruss,
        wahsaga

        1. Hallo wahsaga,

          wenn schon dann document.getElementsByName('feld'+i+'name').value.
          wenn man mit "wenn schon, dann ..." sprüchen kommt, dann sollte man auch wenigstens 100%ig korrekten code posten ;-)
          da der name nicht dokumentweit eindeutig sein muss, sondern mehrfach vorkommen kann, liefert getElementsByName _immer_ ein array zurück, so dass auch noch der array-index beim zugriff angegeben werden muss.

          uups, du hast natürlich recht, danke fürs korrigieren. An das 's' hinter 'Element' habe ich noch gedacht, nur and das '[0]' nicht mehr :-)

          Grüße aus Nürnberg
          Tobias

          --
          Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|