Java Reference
In-Depth Information
Diese Variante des Zugrifs ist sehr zuverlässig und beim Zugrif auf genau ein Element in
der Webseite ideal.
PrAXISTIPP: Gerade bei komplexeren RIAs ist der Zugrif über eine ID fast
immer die beste Wahl. Nur damit haben Sie auch bei Umstrukturierungen des
DOM-Baums eine vollständige Kontrolle über den Zugrif auf ein Element.
Die Methode getElementById() liefert im Gegensatz zu getElementsByName() immer
genau ein Element und kein Array. Nur gibt es ein unkalkulierbares Risiko, das aus HTML
bzw. dem Verhalten der Browser selbst stammt. Eine ID sollte vom Prinzip her in einer
Webseite eine eindeutige Kennung darstellen. Aber wegen des Prinzips der Fehlertoleranz
wird leider kein Browser einen Fehler melden, wenn es eine ID mehrfach in einer Webseite
gibt. Sie sind leider darauf angewiesen, selbst aufzupassen, dass es in einer Webseite keine
ID mehrfach gibt 3 . Dann ist aber das Verhalten verschiedener Browser beim Zugrif über
getElementById() auf ein Element nicht kalkulierbar. Modiizieren wir unser Formularbei-
spiel nun so, dass wir IDs verwenden können (kap8_2.html):
Listing 8.7■ Zugrif über die ID
...
<body>
<h1>Zugriff auf DOM-Elemente</h1>
<form name="formular1"><input name="user" id="userid" /> User<br/>
<input type="password" name="passwort" id="pw" /> Passwort<br/>
<input type="button" value="OK" id="ok" /></form>
<script type="text/javascript">
document.getElementById("ok") .onclick=function(){
alert( document.getElementById("userid") .value + "\n" +
document.getElementById("pw") .value);
};
</script>
</body>
</html>
Sie sehen, dass die Elemente in dem Webformular eine ID haben. Im Skript verwenden wir
dementsprechend nur einfach document.getElementById() zum Zugrif auf die Formular-
felder.
HInWEIS: Sie können bei einem Element natürlich gleichzeitig ein name - und
ein id -Attribut vergeben, was wir im Beispiel ja auch machen. Das sind einfach
verschiedene Attribute. Nur gibt es bei verschiedenen Browsern recht seltsame
(unlogische) Verhaltensweisen beim Zugrif auf so ein Element über den Namen
bzw. die ID, wenn die Werte des name - und des id -Attributs gleich sind. Am
besten vermeiden Sie solche Gleichheit der Werte, was ja kein Problem ist und
keinerlei Einschränkung darstellt. Im Beispiel sind deshalb bewusst die Werte
des name - und des id -Attributs verschieden gewählt.
3 Einige gute IDEs geben Ihnen aber Hinweise, wenn sie mehrfache IDs in einer Seite erkennen.
 
Search WWH ::




Custom Search