Jens: Variable Feldnamen mit Wert befüllen...

Hallo,

ich habe ein durch PHP erzeugtes Formular. Das Formular enthält z.B. das/die Textfeld/er <input name="Stk_Ges$Id"... wobei die $Id fortlaufend ist -> Das Formular besteht aus einer variablen Anzahl an Textfeldern, die dann eben Stk_Ges1, Stk_Ges2, Stk_Ges3... heissen.
Bei dem Submit des Formulars rufe ich folgende Funktion auf und übergebe ihr 3 Parameter. Unter anderem den wirklich aktuellen Feldname, für den ich die Aktion ausführe...

function anzahlPruefen(Zahl_Gesamt, Zahl_Gekauft, Feldname)
{
 alert("Feldname: " + Feldname);
 var Wert = BerechneReststueckZahl(Zahl_Gesamt, Zahl_Gekauft);
 document.meinFormular.XXX.value = Wert;
}

Diese Funktion ruft eine weitere Funktion auf, die ein Ergebnis berechnet und dieses an die oben stehende Funktion zurück gibt.

Mein Problem: Ich möchte das Ergebnis in das Textfeld zurück schreiben... Das mit "XXX" gekennzeichnete ist ja der Textfeldname - aber wie mache ich es, dass dieser variable ist, nämlich immer entsprechend der an die Funktion übergebene Feldname??

Wäre das hier irgendwie ein Ansatz??
var FeldString = "document.meinFormular."+Feldname+".value";

Irgendwie bin ich aus meiner Sicht in einer Sackgasse und weiss nicht mehr weiter...

Wäre super dankbar für eine Lösung oder einen Lösungsansatz...

1000Dank Jens

  1. Hallo,

    ich habe ein durch PHP erzeugtes Formular. Das Formular enthält z.B. das/die Textfeld/er <input name="Stk_Ges$Id"... wobei die $Id fortlaufend ist -> Das Formular besteht aus einer variablen Anzahl an Textfeldern, die dann eben Stk_Ges1, Stk_Ges2, Stk_Ges3... heissen.

    Du hast schon mal was von arrays gehört?

    das ist wesentlich flexibler als das was du vorhast.
    und in PHP gibt es sogar noch extra einen Mechanismus dafür. du musst den Feldnamen so aufbauen: name="Stk_Ges[]" und dann kommt bei deinem Skript die Felder als Array an.

    Bei dem Submit des Formulars rufe ich folgende Funktion auf und übergebe ihr 3 Parameter. Unter anderem den wirklich aktuellen Feldname, für den ich die Aktion ausführe...

    function anzahlPruefen(Zahl_Gesamt, Zahl_Gekauft, Feldname)
    {
    alert("Feldname: " + Feldname);
    var Wert = BerechneReststueckZahl(Zahl_Gesamt, Zahl_Gekauft);
    document.meinFormular.XXX.value = Wert;
    }

    Das geht dann ganz einfach:
    <form onsubmit="return pruefe(this);" ....>

    function pruefe(form)
    {
      for(var i=0;form.Stk_Ges[i];i++)
      {
            var formularWert = form.Stk_Ges[i].value;
            ......
            prüfen
            .......
            form.Stk_Ges[i].value = wert;

    }
       return true;
    }

    Struppi.

  2. Hallo Jens!

    [pref:t=44711&m=243830]
    gruß Binary

    10101010010101111101011011010110101101010110101011010101101010101011010110
    10101010010101111101011011010110101101010110101011010101101010101011010110
    10101010010101111101011011010110101101010110101011010101101010101011010110
    10101010010101111101011011010110101101010110101011010101101010101011010110
    10101010010101111101011011010110101101010110101011010101101010101011010110
    10101010010101111101011011010110101101010110101011010101101010101011010110
    10101010010101111101011011010110101101010110101011010101101010101011010110
    10101010010101111101011011010110101101010110101011010101101010101011010110
    10101010010101111101011011010110101101010110101011010101101010101011010110
    10101010010101111101011011010110101101010110101011010101101010101011010110

    1. Hallo Jens!

      http://selfhtml.teamone.de/javascript/objekte/all.htm
      gruß Binary

      10101010010101111101011011010110101101010110101011010101101010101011010110
      10101010010101111101011011010110101101010110101011010101101010101011010110
      10101010010101111101011011010110101101010110101011010101101010101011010110
      10101010010101111101011011010110101101010110101011010101101010101011010110
      10101010010101111101011011010110101101010110101011010101101010101011010110
      10101010010101111101011011010110101101010110101011010101101010101011010110
      10101010010101111101011011010110101101010110101011010101101010101011010110
      10101010010101111101011011010110101101010110101011010101101010101011010110
      10101010010101111101011011010110101101010110101011010101101010101011010110

      1. http://selfhtml.teamone.de/javascript/objekte/all.htm

        Das ist die veraltete IE 4.x Syntax für die Objekthierachie in einem Dokument, was hat das mit der Frage zu tun?

        Struppi.

      2. Klasse Tip. Danke!