Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Allgemeine Frage zum Schlüsselwort: this

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Thalo
    hat ein Thema erstellt [Erledigt] Allgemeine Frage zum Schlüsselwort: this.

    [Erledigt] Allgemeine Frage zum Schlüsselwort: this

    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

    Code:
    <input type="button" value="OK" onclick="alert(this.form.Feld.value)">
    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:

    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)
    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?

  • Thalo
    antwortet
    Zitat von nikosch Beitrag anzeigen
    this.value = value des Button
    this.form.Feld.value = value des Feldes namens Feld (value des Feldes namens Feld im Form das zum aktuellen Formelement gehört).
    Gut, dass du es sagst. Ist mir jetzt erst aufgefallen, dass es sich um einen Button handelt

    Dann gibt das Beispiel natürlich Sinn.

    Ist wahrscheinlich doch schon zu spät..

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    this.value = value des Button
    this.form.Feld.value = value des Feldes namens Feld (value des Feldes namens Feld im Form das zum aktuellen Formelement gehört).

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Zitat von Thalo Beitrag anzeigen
    finde this.value da wesentlich institutiver..
    Ist aber in dem Beispiel, auf das du dich beziehst, etwas vollkommen anderes ...

    Einen Kommentar schreiben:


  • Thalo
    antwortet
    Zitat von nikosch Beitrag anzeigen
    this.form = das Formularelement zu dem ich als Element gehöre.
    Wie blöd.. Na klar ! Danke - finde this.value da wesentlich institutiver..

    im übrigen, gibt es hier einige Smilies doppelt.. Absicht?

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    this.form = das Formularelement zu dem ich als Element gehöre.

    Einen Kommentar schreiben:

Lädt...
X