euroschein: In Variable weitere Variable "dazwischenschieben"

Hi,

ich weiß nicht genau wie ich das beschreiben soll, was ich meine.

Angenommen ich habe 3 Textfelder in einem Formular und möchte ihre Werte holen und in ein Array geben.
Dazu müsste ich nacheinander die values der Textfelder abfragen und speichern wobei sich eigentlich jedesmal nur der Name des Feldes ändert.

Meine Frage: Ist es jetzt möglich, statt immer document.form1.text1,2,.... usw. neu zu schreiben, den Namen irgendwie jedes mal neu einzufügen aso irgendwie so: document.form1.+text1+.value ?

vielleicht versteht ja jemand was ich meine und kann mir helfen ;)
danke schon mal.

  1. Hallo,

    Meine Frage: Ist es jetzt möglich, statt immer document.form1.text1,2,.... usw. neu zu schreiben, den Namen irgendwie jedes mal neu einzufügen aso irgendwie so: document.form1.+text1+.value ?

    Ja : http://selfhtml.teamone.de/javascript/objekte/unabhaengig.htm#eval
    Also : eval("document.form1.text" + zahl + ".value");, was so natürlich keinen Sinn macht aber Du biegst Dir dass schon zurecht ;)

    cu
    taschengeld

    1. Vorschlag 1:

      var text=""
      for(var i=0; i<=2; i++){
        text += eval("document.form1.text" + i).value;
        // oder
        // eval("text += document.form1.text" + i +".value;");
      }

      Vorschlag 2 (ich finde es elegant, das Formular über eine Variable anzusprechen, zudem läßt sich der Formularname leicht ändern):

      var form=document.form1 // oder =document.forms[0]
      var text=""
      text = form.text0.value + form.text1.value + form.text2.value

  2. So geht´s:

    document.form1.elements[Variable].value

    wobei die Variable sich nach Deinen Vorgaben dynamisch ändern darf, in Deinem Falle also von 0 bis 2.

    mit besten Grüßen

    Willcox
    http://www.willcox.de