Kalle O.: Zeichen im Eingabefeld zählen

Hallöle,

ich find's nicht in SELFHTML.

Wie zähle ich Zeichen, während der Eingabe in ein Feld ? Es geht um eine SMS-Nachricht, möchte die verbleibenden Zeichen anzeigen.

Ein Link wäre fein.

LG Kalle

  1. Hallo Kalle.

    Wie zähle ich Zeichen, während der Eingabe in ein Feld ?

    Mittels value und length.

    Es geht um eine SMS-Nachricht, möchte die verbleibenden Zeichen anzeigen.

    Hierzu könntest du den Eventhandler onKeyup verwenden um damit die Zahl zu ermitteln, die von der Maximalanzahl der Zeichen abzuziehen ist.

    Wie du dies dann ausgibst, ist dir überlassen.

    Einen schönen Donnerstag noch.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
    Meine Browser: Opera 8.01 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
    [Deshalb frei! - Argumente pro freie Software]
    1. Tag Ashura.

      Hierzu könntest du den Eventhandler onKeyup verwenden um damit die Zahl zu ermitteln, die von der Maximalanzahl der Zeichen abzuziehen ist.

      Naja, ganz so trivial ist es nun auch wieder nicht, da gibt es noch solche Tasten wie die Shift-Taste, Backspace, Escape usw. usf., die würdest du alle mitzählen.

      Siechfred

      --
      Früh übt sich ... (74kB)
      Der schwierigste Blick ist immer der über den Tellerrand -- man glaubt gar nicht, wie hoch so ein Tellerrand sein kann.
      1. Hallo Siechfred.

        Naja, ganz so trivial ist es nun auch wieder nicht, da gibt es noch solche Tasten wie die Shift-Taste, Backspace, Escape usw. usf., die würdest du alle mitzählen.

        Wieso?

        onKeyup -> ermittle value.lenght -> (maxChars - value.lenght) -> verbleibendeChars

        Einen schönen Donnerstag noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
        Meine Browser: Opera 8.01 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
        1. Tag Ashura.

          Naja, ganz so trivial ist es nun auch wieder nicht, da gibt es noch solche Tasten wie die Shift-Taste, Backspace, Escape usw. usf., die würdest du alle mitzählen.
          Wieso?

          Ja, du hast Recht, ich war mit dem falschen Eventhandler unterwegs. Mea culpa :-)

          Siechfred

          --
          Früh übt sich ... (74kB)
          Der schwierigste Blick ist immer der über den Tellerrand -- man glaubt gar nicht, wie hoch so ein Tellerrand sein kann.
          1. Hallo Ashura.

            es klappt, wenn ich den Wert in einem anderen **input**-Feld (z.B. Telefonnummer) ausgebe (Paradoxon!!)

            onKeyup="this.form.tel.value = 120 -this.value.length"

            Aber in einen Text will er nicht rein:

            noch <span name='rest'>120</span> Zeichen:
            ...
            onKeyup="this.form.rest.value = 120 -this.value.length"

            ODER

            onKeyup="this.form.rest.innerHTML = 120 -this.value.length"

            Meldung in der JavaScript Konsole:
            this.form.rest has no properties

            LG Kalle

            1. Hallo Kalle O.,

              noch <span name='rest'>120</span> Zeichen:
              ...
              onKeyup="this.form.rest.value = 120 -this.value.length"

              ein span ist ja auch kein Formularelement. Gib dem span eine ID und versuch es mit document.getElementById("rest").firstChild.nodeValue=... .

              Gruß, Jürgen

              1. Hallo Jürgen,

                document.getElementById("rest").firstChild.nodeValue=... .

                joop, das ist es.

                LG Kalle

            2. Tag Kalle.

              onKeyup="this.form.tel.value = 120 -this.value.length"

              this ist das aktuelle Objekt, vermutlich die Textarea, deshalb kennt es keine der Unterobjekte, die du ansprechen möchtest. Schreibst du

              document.forms['name_des_formulars'].elements['name_des inputs'].value = 120 - this.value.length

              sollte es vermutlich gehen.

              Aber in einen Text will er nicht rein:
              noch <span name='rest'>120</span> Zeichen:

              document.getElementsByName('rest)[0].firstChild.data = rest

              Siechfred

              --
              Früh übt sich ... (74kB)
              Der schwierigste Blick ist immer der über den Tellerrand -- man glaubt gar nicht, wie hoch so ein Tellerrand sein kann.
              1. Hallo Siechfred,

                onKeyup="this.form.tel.value = 120 -this.value.length"
                this ist das aktuelle Objekt, vermutlich die Textarea, deshalb kennt es keine der Unterobjekte, die du ansprechen möchtest. Schreibst du

                "this.form" bezieht sich aber auf das Formular in dem die Textarea enthalten ist, siehe http://de.selfhtml.org/javascript/sprache/objekte.htm#this

                Grüße aus Nürnberg
                Tobias

                1. Tag Tobias.

                  this ist das aktuelle Objekt, vermutlich die Textarea, deshalb kennt es keine der Unterobjekte, die du ansprechen möchtest. Schreibst du
                  "this.form" bezieht sich aber auf das Formular in dem die Textarea enthalten ist, siehe http://de.selfhtml.org/javascript/sprache/objekte.htm#this

                  Meine Güte, ich sollte wirklich nach 22:00 Uhr nichts mehr posten...

                  Siechfred

                  --
                  Früh übt sich ... (74kB)
                  Der schwierigste Blick ist immer der über den Tellerrand -- man glaubt gar nicht, wie hoch so ein Tellerrand sein kann.
            3. Hallo Kalle.

              Aber in einen Text will er nicht rein:

              noch <span name='rest'>120</span> Zeichen:
              ...
              onKeyup="this.form.rest.value = 120 -this.value.length"

              ODER

              onKeyup="this.form.rest.innerHTML = 120 -this.value.length"

              Meldung in der JavaScript Konsole:
              this.form.rest has no properties

              Kannst du eine auf den relevanten Inhalt reduzierte Beispielseite online stellen? Ohne das Codeumfeld lässt sich hier nur mutmaßen.

              Einen schönen Donnerstag noch.

              Gruß, Ashura

              --
              Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
              30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
              Meine Browser: Opera 8.01 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
              [Deshalb frei! - Argumente pro freie Software]