Java Reference
In-Depth Information
<input type="password" name="passwort" /> Passwort<br/>
<input type="button" value="OK" name="ok" /></form>
<script type="text/javascript">
document.getElementsByName("ok")[0].onclick=function(){
alert( document.formular1.user .value + "\n" +
document.getElementsByName("passwort")[0] .value);
};
</script>
</body>
</html>
Die Elemente in dem Formular sowie das Formular selbst besitzen ein name -Attribut. Für
den Zugrif auf den User notieren wir die direkte Punktnotation mit Namen und für die
beiden anderen Zugrife im Skript document.getElementsByName() . Beachten Sie, dass wir
damit für jeden Namen ein Array erhalten und deshalb immer einen Index angeben müs-
sen. Auch wenn es jeweils nur ein Element gibt, das zu einem speziischen Namen von der
Methode geliefert wird.
HInWEIS: So einfach die Zugrife über den Namen erscheinen - es gibt diverse
Fallen. Ein name -Parameter in einer Webseite muss etwa keinesfalls eindeutig
sein. Deshalb liefert die Methode getElementsByName() auch ein Array. So kön-
nen durchaus mehrere Formularfelder in einer Webseite problemlos den glei-
chen Namen haben, wenn sie sich in verschiedenen Formularen beinden. Sie
beinden sich dann in Hinsicht auf die Struktur der Webseite in verschiedenen
Namensräumen. Und durch das extrem fehlertolerante Verhalten der Browser
können sogar Elemente den gleichen Namen haben, wenn sie sich im gleichen
Namensraum beinden. Diese können auch von unterschiedlichem Typ sein.
Ebenso müssen Sie beachten, dass der Zugrif über den Namen nur für ausge-
wählte Elemente problemlos möglich ist. Zuverlässig funktionieren die Zugrife
bei allen Elementen, die bereits im alten Objektmodell von Netscape verfügbar
waren und über Objektfelder repräsentiert werden, also Formulare und die ent-
haltenen Formularelemente oder Bilder. Bei Elementen, die nicht über die alten
Objektfelder abgebildet werden, hängt es am Browser, ob ein Zugrif über den
Namen funktioniert oder nicht. Ich würde dringend von einem Zugrif per
Namen bei solchen Elementen abraten.
8.5.2■Zugrif über eine ID - getElementById()
Sollte für ein Element im (X)HTML-Tag ein id -Attribut speziiziert sein, können Sie mit
document.getElementById() darauf zugreifen. Sie geben als String-Parameter einfach die
ID an. Beispiel:
Listing 8.6■ Der Zugrif aus JavaScript auf das Formularelement per getElementById()
document.getElementById("pw")
 
Search WWH ::




Custom Search