ich versuche aus der u.a. HTML Seite die vier Eingabefelder datum_auswahl, Tabellenauswahl, Zeitauswahl und werteauswahl auszulesen.
Es sind per Default Werte in den Feldern sichtbar (siehe selected und checked).
Normalerweise müsste das doch per getElementById() und getElementsByName() je nach Anwendungsfall gehen?
Alle Abfragen liefern aber nur leere Werte.
Muss ich im DOM-Baum vielleicht anders suchen?
Quellcode ist besser lesbar, wenn er in pre-Tags eingebettet wird.
alert("Tabellenauswahl ist gleich: " +
(document.getElementsByName(„Tabellenauswahl“).value));
alert("Zeitauswahl ist gleich: " +
(document.getElementsByName(„Zeitauswahl“).value));
alert("Datum ist gleich: " +
( document.getElementById(„datum_auswahl“).value));
//alle_felder_lesen();
getElementsByName liefert ein Array, du musst auf die einzelnen Elemente zugreifen um deren „value“ auszulesen.
Der JavaScript Code wird direkt beim Einlesen der HTML Seite ausgeführt. Das Element mit der ID „datum_auswahl“ ist da jedoch noch gar nicht vorhanden, das taucht erst später auf. Wenn du diesen Code Abschnitt hinter das Input Element packts sollte das funktionieren.
Moin,
danke für die ersten Infos.
Das onload kann doch aber auch am Anfang von body stehen?
Denn es wird ausgeführt, wenn das Dokument fertig geladen ist, oder habe ich die Funktionsweise falls verstanden?
Jetzt zum Verständnis des Auslesens:
Z.B. für den aktuellen Eintrag im Feld Tabellenauswahl.
Zuerst mit document.getElementsByName(„Tabellenauswahl“).value das Element im DOM finden.
Da ein Array als Ergebnis geliefert wird, muss ich trotzdem das Array durchlaufen, um zu prüfen, welches Feld gefüllt ist?
In dem angezeigten Element ist doch bereits ein Eintrag enthalten.
Kann man nicht gezielt darauf zugreifen?
Ich meine ohne onclick o.ä. , sondern einfach nur auslesen.
wegen onload …
JS kann nur auf die elemente zugreifen, die bereits vom browser geladen sind … wird script vorher geladen & ausgeführt sind noch keine elemente da