Florian Walthard: For Schleifen, Variable Anpassung der verweise auf Formulare

Hai

Mein Problem ist im Prinzip ganz simpel.
Ich habe eine For Schleife welche auf Formular-Felder zugreifen soll.

Bsp:
alert(document.forms[0].teil1.value);

Um zu verhindern das für jedes Feld eine eigene Codezeile zu basteln, nämlich für Felder mit dem Namen: Teil1, Teil2, Teil3, Teil4 u.s.w., möchte ich dies ganz einfach mit der FOR-Variable, in diesem Beispiel "i" machen.

Bsp:
alert(document.forms[0].teil+i+.value);

Wieso geht das nicht?
Hat mir jemand einen Vorschlag?

Wäre echt froh über einen Lösungsansatz..
Ich krieg langsam die kriese.. Hab echt schon viel ausprobiert..
:-(

thx
florian

  1. Hallo,

    so in etwa:

    alert(eval('document.forms[0].teil'+i+'.value'));

    aber eval nimmt man normalerweise nicht...
    da kommt vielleicht noch jemand mit einer besseren lösung...

    Odium

  2. Hallo florian,

    versuch's mal mit
    alert(document.forms[0].elements["teil" + i].value);

    Grüße
    Andreas

  3. Hai

    Mein Problem ist im Prinzip ganz simpel.
    Ich habe eine For Schleife welche auf Formular-Felder zugreifen soll.

    Bsp:
    alert(document.forms[0].teil1.value);

    Um zu verhindern das für jedes Feld eine eigene Codezeile zu basteln, nämlich für Felder mit dem Namen: Teil1, Teil2, Teil3, Teil4 u.s.w., möchte ich dies ganz einfach mit der FOR-Variable, in diesem Beispiel "i" machen.

    Bsp:
    alert(document.forms[0].teil+i+.value);

    Wieso geht das nicht?
    Hat mir jemand einen Vorschlag?

    Wäre echt froh über einen Lösungsansatz..
    Ich krieg langsam die kriese.. Hab echt schon viel ausprobiert..
    :-(

    thx
    florian

    ganz einfach z. b.:

    var test;
    for(var i=0;i<10;i++{
      test = 'teil' + i;
      alert(document.forms[0][test].value);
    }

    mit freundlichen Grüßen

    Gerd

    1. Hai

      Mein Problem ist im Prinzip ganz simpel.
      Ich habe eine For Schleife welche auf Formular-Felder zugreifen soll.

      Bsp:
      alert(document.forms[0].teil1.value);

      Um zu verhindern das für jedes Feld eine eigene Codezeile zu basteln, nämlich für Felder mit dem Namen: Teil1, Teil2, Teil3, Teil4 u.s.w., möchte ich dies ganz einfach mit der FOR-Variable, in diesem Beispiel "i" machen.

      Bsp:
      alert(document.forms[0].teil+i+.value);

      Wieso geht das nicht?
      Hat mir jemand einen Vorschlag?

      Wäre echt froh über einen Lösungsansatz..
      Ich krieg langsam die kriese.. Hab echt schon viel ausprobiert..
      :-(

      thx
      florian

      ganz einfach z. b.:

      var test;
      for(var i=0;i<10;i++{
        test = 'teil' + i;
        alert(document.forms[0][test].value);
      }

      mit freundlichen Grüßen

      Gerd

      Hey.. Danke Gerd..

      Super! :-)

      juhuuuuu