Thomas Meinike: getElementsByName-Methode ?

Beitrag lesen

Während das erst "alert" den korrekten Wert ausgibt, erhalte ich im zweitem Fall immer ein "undefined". Wo liegt der Fehler?

Gruß Henry

»»     alert(document.getElementsByName("TestInput").value);

Du referenzierst damit die Collection der Elemente mit dem Namen "TestInput" in der Reihenfolge ihres Auftretens. Das erste Element hat den Index 0:

alert(document.getElementsByName("TestInput")[0].value);

Eine Alternative - und fuer die DHTML-Programmierung oft praktischer - ist die Verwendung von getElementById(), denn hier werden die einzelnen Seitenelemente ueber die vergebenen IDs referenziert:

Im Markup:
<input type="text" id="TestInput" value="Test">

Im Script:
alert(document.getElementById("TestInput").value);

Eine weitere Zugriffsmoeglichkeit eroeffnet document.getElementsByTagName(), wobei die Elemente ueber ihre Tagnamen und Anzahl ab 0 angesprochen werden (also ohne Angabe von Name bzw. ID):

Im Markup:
<input type="text" value="Test">

Im Script:
alert(document.getElementsByTagName("input")[0].value);

In allen 3 Beispielen wird jeweils der Wert "Test" ausgegeben.

BTW: Beachte die Schreibweisen "getElementBy..." und "getElementsBy...".

HTH & Gruss, Thomas