Announcement

Collapse
No announcement yet.

HTML-Array mit Javascript ansprechen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • HTML-Array mit Javascript ansprechen

    Hey Leute,

    ich hab folgendes Problem:

    Ich hab ein Formular in dem alle Felder in einem Array gesammelt werden, wie z.B. hier:

    < input type="text" name="event[start]" >
    < input type="text" name="event[end]" >

    Jetzt muß ich die Werte dieser beiden Felder einer Javascript-Funktion übergeben. Nur zum Test hab ich es jetzt mal probiert den value eines Feldes mit alert() auszugeben. Klappt leider nicht!!

    < input type="text" name="event[end]" onBlur="alert(document.getElementsByName(event['start']).value)"/ >

    ich habs auch schon mit document.forms[0][event[start]].value versucht, hat aber auch nichts gebracht!

    Könnt ihr mir bitte helfen!!

    lg

    Florian

  • #2
    Hallo Florian,

    die JavaScriptfunktion getElementsByName liefert dir ein Objekt vom Typ all (siehe <a href="http://de.selfhtml.org/javascript/objekte/all.htm">SelfHTML</a>). Darüber hast du Zugriff auf alle Elemente mit dem übergebenen Namen. Wenn es nur ein Element mit dem Namen "event[start]" gibt, dann kannst du mit getElementsByName("event[start]")[0].value auf den Wert dieses Feldes zugreifen.

    Allerdings hast du noch einen anderen Fehler in deinem JavaScriptcode. Zum Einen setzt dein document.getElementsByName(event['start']).value eigentlich voraus, daß event ein JavaScript-Array ist, du dort auf das Element 'start' zugreifst und den Inhalt als Wert an getElementsByName übergibst. Zum Anderen besitzt das Objekt all, also die Rückgabe von getElementsByName keine Eigenschaft value!

    Viel einfacher ist doch:
    &lt; input type="text" name="event[end]" onBlur="alert(this.value)"/ &gt;

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hallo,

      danke für die Antwort!!

      Es wäre natürlich einfacher mit dem alert(this.value), daß mit dem alert ist aber nur ein Test.
      Eingentlich geht es mir darum den Inhalt von zwei Feldern (event[start] und event[end]) in eine eigene Javascript-Funktion zu übergeben.

      Und ich verzweifle langsam daran, an die Werte zu kommen.

      OK, also per getElementsByName(event[start]) komm ich eigentlich nur an ein Javascript-Array ran. Wie komm ich dann an die Werte die in einem HTMLCollection Objekt drinn sind??

      lg
      Floria

      Comment


      • #4
        So klappts:

        onBlur="alert(document.getElementsByName('event[start_time]')[0].value)"

        lg
        Floria

        Comment


        • #5
          Hallo Florian,

          sag ich doch, wenn du oben nochmal nachliest hab ich genau das geschrieben: <cite>...gibt, dann kannst du mit getElementsByName("event[start]")[0].value auf den...</cite>

          Wenn es dir jedoch von vornherein darum geht, auf genau <b>ein</b> Element zuzugreifen, dann ist es geschickter dem HTML-Element eine id zu geben und dann mit document.getElementById() darauf zuzugreifen.

          Um bei deinem Bsp. zu bleiben:
          &lt; input id="event_end" type="text" name="event[end]" onBlur="alert(document.getElementById('event_end') .value)"/ &gt;

          Gruß Fal
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment

          Working...
          X