yoggi74: Element ansprechen, wenn [] im Namen?

Ich habe folgendes html-Formular:

<FORM method="post" name="frm_eingabe">
<input type="text" name="recs[personinfo][name]" value="Startwert">
</FORM>

jetzt möchte ich über Javascript auf den Wert des Textfeldes zugreifen.

document.frm_eingabe.recs[personinfo][name].value

funktioniert hier nicht. Klar, JS interpretiert recs[personinfo][name] als Array. Gibt es eine Möglichkeit das Feld trotzdem über den Namen anzusprechen? z.b. mit  '[personinfo]' oder ähnlichem?

    1. Alles klar - DANKE

      Lösung:

      document.forms["frm_eingabe"].elements['recs[personinfo][name]'].value

      1. ... und schon wieder zu kompliziert gedacht.

        document.forms["frm_eingabe"].elements["recs[personinfo][name]"].value

        funktioniert doch auch :)

        1. Hallo,

          ... und schon wieder zu kompliziert gedacht.
          document.forms["frm_eingabe"].elements["recs[personinfo][name]"].value
          funktioniert doch auch :)

          Weil ich es gerade gesehen habe: http://aktuell.de.selfhtml.org/artikel/javascript/oomodell/index.htm#internal drittes Beispiel.

          Grüße
          Jeena Paradies

          --
          Open- vs. Closed Source Software - Verdienstmöglichkeiten | Jlog | Gourmetica Mentiri
  1. Hallo,

    die eckigen Klammern haben im Wert für name nichts zu suchen!

    Viele Grüße
    Patrick

    --
    "Though this be madness, yet there's method in't."
    sh:( fo:| ch:? rl:( br:^ n4:( ie:{ mo:) va:} de:> zu:) fl:| js:( ss:| ls:[
    1. Hallo ShiNtoKu.

      die eckigen Klammern haben im Wert für name nichts zu suchen!

      Dort steht „sollte“. Zu der Zeit, als dieser Text geschrieben wurde, war sicher noch nicht die Eigenheit von PHP bekannt, mit „[“ und „]“ übergebene Werte von name-Attributen zu Arrays umzuformen.

      Tatsächlich ist im name-Attribut http://de.selfhtml.org/html/referenz/attribute.htm#cdata@title=CDATA erlaubt.

      Einen schönen Dienstag noch.

      Gruß, Ashura

      --
      Last Tears Keep Calling
      See Angels Falling
      Black Shadows In Your Head
      And One Eye For The Dead
      1. Hallo,

        Dort steht „sollte“.

        Nein, dort steht zwar

        "Der Name _sollte_ nicht zu lang sein"

        aber

        "und _darf_ keine Leerzeichen, _Sonderzeichen_ oder deutsche Umlaute enthalten."

        Allerdings hast du, was erlaubte Werte von name - nämlich CDATA - betrifft, (natürlich ;)) Recht.

        Man sollte den Artikel mal aktualisieren *g*

        Besagte Eigenheit PHPs war mir bis dato nicht bekannt. Ob sie allerdings nötig ist muss ich mir noch überlegen ;)

        Viele Grüße
        Patrick

        --
        "Though this be madness, yet there's method in't."
        sh:( fo:| ch:? rl:( br:^ n4:( ie:{ mo:) va:} de:> zu:) fl:| js:( ss:| ls:[
        1. Hallo,

          Hmm, fallen eckige Klammern überhaupt in die Kategorie "Sonderzeichen", oder war das mal wieder ein freudscher Verdenker meinerseits?

          Viele Grüße
          Patrick

          --
          "Though this be madness, yet there's method in't."
          sh:( fo:| ch:? rl:( br:^ n4:( ie:{ mo:) va:} de:> zu:) fl:| js:( ss:| ls:[
          1. Hallo ShiNtoKu.

            Hmm, fallen eckige Klammern überhaupt in die Kategorie "Sonderzeichen", oder war das mal wieder ein freudscher Verdenker meinerseits?

            Gibt es Entities in HTML für diese Klammern?

            Einen schönen Mittwoch noch.

            Gruß, Ashura

            --
            Last Tears Keep Calling
            See Angels Falling
            Black Shadows In Your Head
            And One Eye For The Dead
            1. Hallo Ashura,

              Hmm, fallen eckige Klammern überhaupt in die Kategorie "Sonderzeichen", oder war das mal wieder ein freudscher Verdenker meinerseits?

              Gibt es Entities in HTML für diese Klammern?

              http://de.selfhtml.org/html/referenz/zeichen.htm@title=Benannte nicht, allerdings (wie bei jedem anderen in HTML erlaubten Zeichen auch) kannst Du die Hexadezimalschreibweise (&#x..;) oder die Dezimalschreibweise (&#...;) verwenden - die Zeichencodes darfst Du Dir selbst aus der ASCII-Tabelle holen.

              Viele Grüße,
              Christian

            2. Hallo,

              Gibt es Entities in HTML für diese Klammern?

              Nun, das ist ein falscher Umkehrschluss. Zwar ist jedes Zeichen, für das ein benanntes Entity existiert, ein Sonderzeichen; aber nicht jedes Zeichen, das kein bennantes Entity besitzt, ist kein Sonderzeichen *g*

              Aber ja, du hast ja Recht. Frühabendlicher Querdenker. Ich nehm ja alles zurück ;)

              Viele Grüße,
              der vor scham rot wird und sich jetzt besser in die ecke stellt und erbsen zählt

              --
              "Though this be madness, yet there's method in't."
              sh:( fo:| ch:? rl:( br:^ n4:( ie:{ mo:) va:} de:> zu:) fl:| js:( ss:| ls:[