JavaScript/DOM/Document/forms/elements
Mit dem Objekt elements
, das in der JavaScript-Objekthierarchie unterhalb des forms-Objekts liegt, haben Sie Zugriff auf Elemente eines Formulars.
Methoden
Verwendung
Formularelemente können Sie auf folgende Arten ansprechen:
document.forms[#].elements[#].Eigenschaft
document.forms[#].elements[#].Methode()
document.forms[0].elements[0].value = "Unsinn";
document.forms[0].elements[0].blur();
1. mit einer Indexnummer des Formulars und des Elements (wie in Schema 1 / Beispiel 1)
- Bei Verwendung von Indexnummern geben Sie
document.forms
an und dahinter in eckigen Klammern, das wievielte Formular in der Datei Sie meinen. Beachten Sie, dass der Zähler bei 0 beginnt, d. h. das erste Formular sprechen Sie mitdocument.forms[0]
an, das zweite Formular mitdocument.forms[1]
usw. Beim Zählen gilt die Reihenfolge, in der die <form>-Tags in der Datei notiert sind. Dann folgt die Angabe.elements
zum Zugriff auf das zugehörige elements-Unterobjekt. Auch dahinter notieren Sie wieder eine Indexnummer in eckigen Klammern. Erneut wird bei 0 zu zählen begonnen, d. h. das erste Element innerhalb eines Formulars hat die Indexnummer 0, das zweite die Indexnummer 1 usw. Sie können zwischen den eckigen Klammern auch eine Zahl-Variable notieren, die die Indexnummer des Formulars bzw. des Formularelements enthält.
document.Formularname.Elementname.Eigenschaft
document.Formularname.Elementname.Methode()
document.Testformular.Eingabe.value = "Unsinn";
document.Testformular.Eingabe.blur();
2. mit dem Namen des Formulars und des Elements direkt über das document-Objekt
- Wie auch verschiedene andere Elemente mit name-Attributen können Sie Formulare mit Namen als Objekte direkt unterhalb des document-Objekts ansprechen. Dabei geben Sie mit
document.Formularname.Elementname
den Namen des Formulars und des Elements an, den Sie bei der Definition des Formulars und des Elements in den entsprechenden HTML-Tags im Attribut name angegeben haben.
document.forms.Formularname.elements.Elementname.Eigenschaft
document.forms.Formularname.elements.Elementname.Methode()
document.forms.Testformular.elements.Eingabe.value = "Unsinn";
document.forms.Testformular.elements.Eingabe.blur();
3. mit dem Namen des Formulars und dem Namen des Elements über das document.forms
-Objekt und das zugehörige elements-Objekt
- Mit
document.forms.Formularname
wird dabei das Formular angesprochen und über das Unterobjekt.elements.Elementname
das fragliche Formularelement. Formularname und Elementname entsprechen jeweils dem name-Attribut des form- bzw. Formularfeld-Elements, das Sie ansprechen möchten. Diese lange Schreibweise erlaubt verständlicheren Code, denn es ist sofort ersichtlich, dass ein Formularelement angesprochen wird.
document.forms["Formularname"].elements["Elementname"].Eigenschaft
document.forms["Formularname"].elements["Elementname"].Methode()
document.forms["Testformular"].elements["Eingabe"].value = "Unsinn";
document.forms["Testformular"].elements["Eingabe"].blur();
4. mit dem Namen des Formulars und des Elements als Indexnamen:
- Diese Art ist eine zu Schema 3 äquivalente Schreibweise, denn in JavaScript ist das Ansprechen von Unterobjekten über
objekt.unterobjekt
gleichwertig zuobjekt["unterobjekt"]
. Geben Sie mitdocument.forms["Formularname"].elements["Elementname"]
den Namen des Formulars und des Elements als String an. Diese Schreibweise wird insbesondere für den Zugriff auf Formularelemente benötigt, deren Namen Sonderzeichen enthalten, welche den Zugriff nach Schema 2 und 3 unmöglich machen. Sie können zwischen den eckigen Klammern auch eine String-Variable notieren, die den Formularnamen bzw. den Elementnamen enthält.
Ein Mischen der genannten Zugriffsvarianten für die Adressierung des Formulars und seiner Elemente ist möglich.
Beispiele:
document.forms.Formularname.elements["Elementname"]
und document.forms[1].Elementname
.
Alternativ können Sie über die Methoden des document-Objekts wie
document.getElementById()
auf ein Formular und seine Elemente zugreifen.Elementtypen
Folgende Elementtypen werden dabei unterschieden (die Verweise führen zu den entsprechenden Beschreibungen in der HTML-Dokumentation):
- Klick-Buttons
- einzeilige Eingabefelder
- mehrzeilige Eingabefelder
- Checkboxen
- Radio-Buttons
- Auswahllisten
Gruppenelemente:
Checkboxen und Radio-Buttons bilden normalerweise Gruppen mehrerer zusammengehöriger Elemente, die einen gleichen Wert im name
-Attribut haben und sich nur das value
-Attribut unterscheiden. Solche Gruppen mit gleichen Namen bilden in JavaScript wiederum einen Array.
<html> <head> <title>Test</title> </head> <body> <form name="Formular" action="" method="get"> <input type="radio" name="Favoriten" value="Heino"> <input type="radio" name="Favoriten" value="Gildo"> <input type="radio" name="Favoriten" value="Marianne"> </form> <script> document.Formular.Favoriten[2].checked = true; </script> </body> </html>
Im Beispiel ist ein Formular mit mehreren Radio-Buttons definiert. Die Gruppe zusammengehöriger Radio-Buttons hat den gleichen Namen. In JavaScript können Sie einzelne solcher Buttons ansprechen, indem Sie das Element (als Gruppe) ansprechen. Hinter dem Elementnamen notieren Sie dann in eckigen Klammern die Indexnummer des gewünschten Elements. Im Beispiel wird Favoriten[2] angesprochen. Das ist das dritte Element der Gruppe.
Über das elements-Objekt werden gemäß dem HTML-spezifischen DOM die Elementobjekte von Formularelementen angesprochen. Das heißt, Sie haben neben den auf dieser Seite aufgelisteten Zugriff auf weitere Eigenschaften und Methoden, je nachdem, um welchen Elementtyp es sich handelt. Beachten Sie daher die Referenz zu den jeweiligen benutzten HTML-Elementen:
Klick-Buttons:
- input oder button
- Checkboxen, Felder für Datei-Upload, Versteckte Elemente, Passwortfelder, Radio-Buttons, Abbrechen-Buttons, Absendebuttons und einzeilige Eingabefelder:
- input
mehrzeilige Eingabefelder:
Auswahllisten:
Weblinks
- MDN elements