Patrick Kasper: Formularelemente mit [] im Namen ansprechen

Wie kann ich Formularelemente mit eckigen Klammern im Namen ansprechen?

Beispiel:
document.Forumularname.value[123].Eigenschaft
(value ist der Feldname!!!)

Der IE bringt die Fehlermeldung, dass document.Forumularname.value.123 (!!!) Null oder kein Objekt sei.

  1. Auch Dir ein fröhliches Hallo,

    Wie kann ich Formularelemente mit eckigen Klammern im Namen ansprechen?

    Du armer scheinst PHP zu verwenden.

    document.Forumularname.value[123].Eigenschaft

    document.Formularname.elements["value[123]"].Eigenschaft

    (value ist der Feldname!!!)

    Extrem schlecht gewählt, nebenbei bemerkt.

    Der IE bringt die Fehlermeldung, dass document.Forumularname.value.123 (!!!)

    Nicht wundern. Die eckigen Klammern sind eine (Variablen erlaubende) Schreibweise, die genau jenes Objekt repräsentieren.

    Cheatah

    1. Hallo,

      ja, ich verwende PHP. Die Namen habe nicht ich gewählt, sondern meine Chefs.
      Vielen Dank für deine schnelle und gute Antwort.

      Gruß Patrick

      1. Hi,

        ja, ich verwende PHP.

        dachte ich mir - diese Sprache kommt mit gleichnamigen Eingabefeldern (z.B. <select multiple>) ansonsten nicht hinreichend klar.

        Die Namen habe nicht ich gewählt, sondern meine Chefs.

        Sind Deine Chefs die Techniker oder Du?

        Cheatah

        1. Moin Cheatah!

          ja, ich verwende PHP.

          dachte ich mir - diese Sprache kommt mit gleichnamigen Eingabefeldern (z.B. <select multiple>) ansonsten nicht hinreichend klar.

          Moment, soll das heissen, man muss bei Verwendung von PHP seinen Formularelementen Namen geben, die in HTML ungueltig[1] sind, sonst kann man sie nicht auslesen?

          [1] HTML 4.01 Chapter 6.2:  ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

          So long

          --
          Wenn Wahlen etwas ändern könnten, würden sie sofort verboten werden.

          1. Hoi Roland,

            ja, ich verwende PHP.

            dachte ich mir - diese Sprache kommt mit gleichnamigen Eingabefeldern (z.B.
            <select multiple>) ansonsten nicht hinreichend klar.

            Moment, soll das heissen, man muss bei Verwendung von PHP seinen
            Formularelementen Namen geben, die in HTML ungueltig[1] sind, sonst kann man
            sie nicht auslesen?

            Jain. Wenn die Formular-Elemente wie '<select multiple>' einen Namen ohne
            '[]' am Ende haben, kann man halt lediglich den letzten Wert auslesen ;-)
            Aber sogesehen hast du Recht, ja.

            [1] HTML 4.01 Chapter 6.2:  ID and NAME tokens must begin with a letter
            ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]),
            hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

            No comment.

            Gruesse aus dem schoenen LH,
             c.j.k

            --
            Web forums are an abomination that should be stopped.
               von Drew Eckhardt in der FreeBSD SMP Mailinglist

          2. Hi,

            Moment, soll das heissen, man muss bei Verwendung von PHP seinen Formularelementen Namen geben, die in HTML ungueltig[1] sind, sonst kann man sie nicht auslesen?

            ja; siehe Christians Antwort. Zudem finde ich es ziemlich schwach von einer Programmiersprache, dass diese eine Nomenklatur vorschreibt, welche an anderer Stelle von Relevanz ist.

            Wie ich immer sage: PHP ist äußerst undurchdacht. Der Erfolg liegt ähnlich wie bei Microsoft-Produkten im "ich kann alles was Du willst, und zwar ganz einfach" begründet. Andere Parallelen möchte ich hier nicht ziehen, auch wenn ich sie durchaus für vorhanden halte... :-)

            Cheatah