Ich möchte Zeichen in einem Textbereich zählen, also habe ich gerade Folgendes gemacht:
<textarea id="field" onkeyup="countChar(this)"></textarea>
function countChar(val){
var len = val.value.length;
if (len >= 500) {
val.value = val.value.substring(0, 500);
} else {
$('#charNum').text(500 - len);
}
};
Was ist los mit meinem Code? Es funktioniert nicht! Nun, das war eine Handschrift für Neulinge, brauche Hilfe.
Antworten:
Welche Fehler sehen Sie im Browser? Ich kann verstehen, warum Ihr Code nicht funktioniert, wenn das, was Sie gepostet haben, unvollständig war, aber ohne zu wissen, dass ich es nicht sicher wissen kann.
... funktioniert gut für mich.
Bearbeiten: Sie sollten wahrscheinlich das charNum div löschen oder etwas schreiben, wenn es über dem Limit liegt.
quelle
Verbesserte Version basierend auf Caterhams Funktion :
quelle
⚠️ Die akzeptierte Lösung ist fehlerhaft.
Hier sind zwei Szenarien, in denen das
keyup
Ereignis nicht ausgelöst wird:Verwenden Sie
input
stattdessen das HTML5- Ereignis für eine robustere Lösung:JavaScript ( Demo ):
Und wenn Sie unbedingt jQuery verwenden möchten:
quelle
input
Veranstaltung. DankeDas HTML-Beispiel, das überall dort verwendet wird, wo ich einen Zähler benötige, beachtet die Relevanz der IDs des Textbereichs und des zweiten Bereichs:
id="post"
<->id="rem_post"
und den Titel des Bereichs, der die gewünschte Zeichenmenge für jeden bestimmten Textbereich enthältFür die JavaScript-Funktion, die normalerweise zuvor
</body>
in meiner Vorlagendatei platziert wurde, ist jQuery erforderlichquelle
das hat gut funktioniert für mich.
quelle
substring()
muss werdensubstr()
.Beispiel: jsfiddle.net/xqyWV
quelle
Nun, das unterscheidet sich nicht so sehr von dem, was gesagt wurde, aber das funktioniert in allen Browsern sehr gut.
Die Idee ist, jeden Text zu löschen, der die definierte Länge überschreitet.
Der HTMl-Code wäre:
quelle
HTML
jQuery
quelle
Ich habe eine Kombination der oben genannten gemacht. Es ermöglicht das Anhalten der Texteingabe und den Rückraum sowie die Zählung, auch wenn der Abstand zurückliegt:
JavaScript-Code:
HTML:
Gutschrift zu diesen Plakaten vor mir !! Hoffe das hilft jemandem!
quelle
Ich habe mein eigenes jQuery-Plugin für diese Aufgabe erstellt. Sie können es hier ausprobieren:
http://jsfiddle.net/Sk8erPeter/8NF4r/
Sie können Zeichenzähler im laufenden Betrieb erstellen (und auch verbleibende Zeichenzähler), Sie können definieren, ob Sie Text hacken möchten, Sie können die Suffixtexte definieren und Sie können auch ein Kurzformat und dessen Trennzeichen definieren.
Hier ist ein Beispiel für die Verwendung:
Hier ist der Code des Plugins:
quelle
quelle
Ich habe mich gefragt, wie ich dasselbe machen soll und Ideen von allen hier zu nehmen. Das habe ich mir ausgedacht:
JsFiddle
quelle
Sie können auch Ihre eigene Element-ID oder Klasse anstelle von "h1" eingeben und das Längenereignis zählt Ihre Zeichen der Textbereichszeichenfolge ☻
quelle
Ihr Code war etwas durcheinander. Hier ist eine saubere Version:
quelle
Probier diese.
quelle
Eine allgemeinere Version, damit Sie die Funktion für mehr als ein Feld verwenden können.
quelle
Verwenden Sie Folgendes, um die Verwendung von else zu überspringen und auch das Abrufen einer negativen Anzahl zu überspringen.
quelle
Hier mein Beispiel. Abendessen einfach
quelle
Wir waren mit keiner der beabsichtigten Lösungen zufrieden.
Deshalb haben wir für JQuery eine komplette Char Counter-Lösung entwickelt, die auf jquery-jeditable basiert . Es ist eine
textarea
Plugin-Erweiterung, die in beide Richtungen zählen kann, eine benutzerdefinierte Nachricht anzeigt, die Anzahl der Zeichen begrenzt und auch jquery-datatables unterstützt .Sie können es sofort auf JSFiddle testen .
GitHub-Link: https://github.com/HippotecLTD/realworld_jquery_jeditable_charcount
Schnellstart
Fügen Sie diese Zeilen zu Ihrem HTML hinzu:
Und dann:
quelle
quelle
Sie können verwenden:
quelle