Liebe(r) Maddi1986,
"Anzahl der Ihnen verbleibenden Wörter ...".
interessant! Ich kannte das bisher eher unter dem Ansatz der noch verbleibenden Zeichen...
Zu Deinem Problem: Du wirst das onkeyup-Event benötigen, damit jedesmal, wenn eine Taste wieder losgelassen wird, Dein Wert aktualisiert werden kann.
Nehmen wir einmal folgendes HTML als gegeben an:
<textarea id="eingabefeld" cols="40" rows="6">Text hier...</textarea>
<p>Ihnen verbleiben noch <span id="anzahl">100</span> Wörter.</p>
Jetzt können wir mittels Javascript loslegen (folgenden Code unbedingt über externe JS-Datei einbinden!):
var WoerterTester = { // neues Objekt anlegen
textareaID : "eingabefeld",
spanID: "anzahl",
maximum : 100, // maximal erlaubte Wörterzahl
init : function () {
// Unseren Tester nach dem vollständigen Laden der Seite einbinden lassen
this.oldWinOnLoad = window.onload; // alte onload-Funktion sichern
window.onload = function () { // neue onload-Funktion eintragen
if (typeof(WoerterTester.oldWinOnLoad) == "function")
WoerterTester.oldWinOnLoad();
WoerterTester.onLoad();
};
},
onLoad : function () {
// Textarea mit Überwachung versehen
document.getElementById(this.textareaID).onkeyup = function (e) {
// diese Funktion wird nun nach Loslassen einer Taste ausgeführt
WoerterTester.zaehlen(
document.getElementById(WoerterTester.textareaID),
document.getElementById(WoerterTester.spanID)
);
};
},
zaehlen : function (textarea, ausgabe) {
var eingabe = textarea.value;
var woerter = eingabe.split(/[ ]+/); // erzeugt ein Array! Mehrfache Spaces werden als ein einzelnes behandelt.
ausgabe.firstChild.nodeValue = (this.maximum - woerter.length).toString();
}
};
WoerterTester.init();
Liebe Grüße aus Ellwangen,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)