Felix Riesterer: TextArea auslesen

Beitrag lesen

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