Hallo,
bisher hatte ich immer angenommen, dass this sich immer aufs aktuelle Objekt bezieht. Auf Selfhtml hab ich aber nun ein für mich verwirrendes Beispiel gefunden:
SELFHTML: JavaScript / Sprachelemente / Objekte, Eigenschaften und Methoden
Ich hatte nun angenommen, dass sich this auf das Eingabefeld bezieht, was mir auch ein alert(this) bestätigt ([object HTMLInputElement]) auf Selfhtml steht allerdings:
interpretiere ich nun so, dass sich this auf das Formular bezieht. Merkwürdigerweise funktioniert beides bei mir (this.value und this.form.feld.value). Kann mir das Verhalten jemand erklären?
Ferner finde ich es aus verwirrend, wenn sich this auf das Formular referenziert, dass document.Eingabe.Feld.value gegen this.form.Feld.value ausgetauscht werden kann. Hier müsste sich doch this das Document referenzieren?
bisher hatte ich immer angenommen, dass this sich immer aufs aktuelle Objekt bezieht. Auf Selfhtml hab ich aber nun ein für mich verwirrendes Beispiel gefunden:
SELFHTML: JavaScript / Sprachelemente / Objekte, Eigenschaften und Methoden
Code:
<input type="button" value="OK" onclick="alert(this.form.Feld.value)">
Im Beispiel wird in einem Meldungsfenster der Wert ausgegeben, den der Anwender in dem Eingabefeld eingegeben hat. Normalerweise würde der Befehl so notiert:
alert(document.Eingabe.Feld.value)
Da der Befehl jedoch innerhalb des Formulars steht, auf das er sich bezieht, dürfen Sie auch schreiben:
alert(this.form.Feld.value)
alert(document.Eingabe.Feld.value)
Da der Befehl jedoch innerhalb des Formulars steht, auf das er sich bezieht, dürfen Sie auch schreiben:
alert(this.form.Feld.value)
Ferner finde ich es aus verwirrend, wenn sich this auf das Formular referenziert, dass document.Eingabe.Feld.value gegen this.form.Feld.value ausgetauscht werden kann. Hier müsste sich doch this das Document referenzieren?
Kommentar