Enrico: Array mit Namen von Eingabefeldern füllen

Hallo,

Ich gehe in folgender Schleife alle Eingabefelder eines Formulares durch, um danach ein Array zu erzeugen, das die Namen aller Pflichtfelder enthält. Dazu durchsuche ich alle Namen der Felder nach dem Vorsatz "P_".

Mein Problem ist nun, wie ich die gefunden Namen dynamisch übergebe:

var Pflichtfeld = new Array ();

for (i = 0; i < document.forms[0].elements.length; i++)
{
  if (document.forms[0].elements[i].name.substring (0, 2) == "P_")
    Pflichtfeld.push (document.forms[0].elements[i].name);
}

Wie muss ich die Funktion umschreiben, damit die Übergabe richtig funktioniert ?

Danke für Eure Antworten.

Grüsse, Enrico

  1. hi,

    Wie muss ich die Funktion umschreiben, damit die Übergabe richtig funktioniert ?

    was willst du wohin übergeben?

    if (document.forms[0].elements[i].name.substring (0, 2) == "P_")
        Pflichtfeld.push (document.forms[0].elements[i].name);

    willst du hier wirklich nur die namen ins array schreiben - oder nicht doch vielleicht eher direkt die referrenz auf das feld, damit du nachher direkten zugriff darauf hast?

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Hallo wahsaga,

      Hmmm, Referrenz übergeben ? Direkter Zugriff ?

      Wie meinst Du das ? Versteh ich nicht ganz... :-(

      Prinzipiell würde es reichen, nur den Namen zu übergeben.

      Was wäre denn der Vorteil bei einer Referrenz ?

      Enrico

      1. hi,

        Hmmm, Referrenz übergeben ? Direkter Zugriff ?

        Wie meinst Du das ? Versteh ich nicht ganz... :-(

        das hatte ich dich eigentlich gerade gefragt - _was_ willst du überhaupt erreichen?

        Prinzipiell würde es reichen, nur den Namen zu übergeben.
        Was wäre denn der Vorteil bei einer Referrenz ?

        du willst die namen doch bestimmt nicht nur in einem array haben, weil arrays so toll sind - sondern du willst mit den feldern doch bestimmt auch noch irgendwas machen, oder? (du schriebst ja was von flichtfeldern, als willst du die vermutlich prüfen ...)

        dann wäre es doch schöner, über das array-element gleich zugriff auf das jeweilige feld zu haben, anstatt noch einen weiteren zugriff machen zu müssen, oder?

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. Ich möchte überprüfen, ob alle Felder, die das Kennzeichen "P_" im Namen enthalten, prüfen, ob sie ausgefüllt wurden.

          Deshalb war mein erster Ansatz, sie in einem Array zusammenzufassen, um sie so gesondert zu überprüfen zu können.

          Enrico

          1. hi,

            Ich möchte überprüfen, ob alle Felder, die das Kennzeichen "P_" im Namen enthalten, prüfen, ob sie ausgefüllt wurden.

            gut, die aufgabenbeschreibung hätten wir :-)

            Deshalb war mein erster Ansatz, sie in einem Array zusammenzufassen, um sie so gesondert zu überprüfen zu können.

            und wo ist jetzt das konkrete problem ...?

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
            1. Hi, wahsaga,

              das konkrete Problem ist, wie ich die Namen der Felder, denen "P_" vorangestellt ist, dem Array Pflichtfelder hinzufüge... :o)

              Enrico

              1. hi,

                das konkrete Problem ist, wie ich die Namen der Felder, denen "P_" vorangestellt ist, dem Array Pflichtfelder hinzufüge... :o)

                na ich dachte das sollte

                Pflichtfeld.push(...);

                erledigen - was klappt denn daran nicht? (fehlermeldungen?)

                gruß,
                wahsaga

                --
                "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                1. Guddn Morgähn :-)

                  Ich bekomme die Fehlermeldung, dass das Objekt diese Eigenschaft oder Methode nicht unterstützt.

                  Sorry, hatte Dir leider diese Fehlermeldung vorenthalten...

                  Enrico