Zeichen im Eingabefeld zählen
Kalle O.
- javascript
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
Hallo Kalle.
Wie zähle ich Zeichen, während der Eingabe in ein Feld ?
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
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
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
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
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
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
Hallo Jürgen,
document.getElementById("rest").firstChild.nodeValue=... .
joop, das ist es.
LG Kalle
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
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
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
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