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

  • [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?


  • #2
    this.form = das Formularelement zu dem ich als Element gehöre.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      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?

      Kommentar


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

        Kommentar


        • #5
          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).
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar


          • #6
            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..

            Kommentar

            Lädt...
            X