Max Zeichen in Textarea mit jquery
Ich habe den folgenden code, und ich bin irgendwie hängengeblieben, was als Nächstes zu tun ist. Die Idee ist, wenn Sie geben Sie text in ein Textfeld ein Zähler zeigt Ihnen an, wie viele Zeichen Sie noch übrig haben. Sobald Sie die max Zeichen ich will nicht zulassen, dass Sie Zeichen eingeben, oder löschen Sie alle Zeichen eingegeben wurden, so sind es nur 10 Zeichen in das Textfeld ein. Ich weiß, ich habe zu dem code, wo es heißt alert("LONG");
aber ich bin mir nicht ganz sicher, was.
var maxLen = 10;
console.log("Start");
$('#send-txt').keyup(function(){
var Length = $("#send-txt").val().length;
var AmountLeft = maxLen - Length;
$('#txt-length-left').html(AmountLeft);
if(Length >= maxLen){
alert("LONG");
}
});
InformationsquelleAutor der Frage Bill | 2011-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Geht es hier. Alles, was darüber hinaus Zeichen-Grenze entfernt.
Check funktioniert beispielsweise bei http://jsfiddle.net/JCehq/1/
InformationsquelleAutor der Antwort Hussein
Alle diese Antworten sind ein wenig seltsam, dass Sie versuchen zu tun, ein wenig zu viel. Eine einfachere und optisch gefälliger (weil Sie zeigt, dass der text schnell abgeschnitten) - und mit weniger Merkwürdigkeiten, die dem vorherigen Beispiel (beachten Sie, wie es überschreibt die Letzte Taste?) - ist, einfach schneiden Sie die Anzahl der Zeichen auf keyUp an der Zahl, ist erlaubt.
Beachten Sie, dass diese dann funktioniert auch das einfügen von text, wie einige von den oben genannten Beispielen nicht.
Beispiel hier: http://jsfiddle.net/PzESw/5/
InformationsquelleAutor der Antwort daprezjer
False zurückgeben, und mit .keypress() statt .keyup() Stoppt die Eingabe, sobald die Länge erreicht ist. Hier ist das Beispiel in jsFiddle:
http://jsfiddle.net/p43BH/1/
Aktualisiert, damit Sie die Rücktaste.
InformationsquelleAutor der Antwort Steve Claridge
Einen einfachen Weg, dies zu tun ist, um den text in der textarea um einen substring des vollen Betrags. Ein Beispiel finden Sie hier:
http://www.mediacollege.com/internet/javascript/form/limit-characters.html
InformationsquelleAutor der Antwort Mark Hildreth
Habe es mit diesem:
Ich weiß wirklich nicht, ob es etwas falsch mit dieser Lösung, aber es funktionierte für mich.
InformationsquelleAutor der Antwort user3460837
Wenn Sie Ihren js wie folgt Aussehen sollte es für Sie funktionieren:
Können Sie sehen, ein Beispiel hier: http://jsfiddle.net/aP5sK/2/
InformationsquelleAutor der Antwort Martin Jespersen
ehm, textarea maxlength, ist ein gültiges Attribut in html5 ?
nicht unterstützt ie9, thats all.
w3nerds http://www.w3.org/TR/html-markup/textarea.html#textarea.attrs.maxlength
w3fools http://www.w3schools.com/tags/att_textarea_maxlength.asp
InformationsquelleAutor der Antwort commonpike
Hier ist eine Lösung mit HTML5 data-Attribut automatisch zu binden, um alle benötigten Texteingabefelder:
InformationsquelleAutor der Antwort Mika Tähtinen
Ich weiß, das ist ein wenig spät, aber ich musste einfach herausfinden, zu. Ich hatte, um es an die Arbeit mit UTF8-bom (byte-Längen, und es zulassen, daß bestimmte Tastendrücke. Hier ist, was ich kam mit:
Brauchen Sie eine textarea mit der id #textarea und ein element zur Anzeige der aktuellen Länge mit der id #Länge.
Keypress-Ereignis bestimmt, ob oder nicht zu erlauben, die keypress. Das keyup-Ereignis zählt die Größe der Daten in das Feld nach dem Tastendruck erlaubt/verhindert.
Dieser code funktioniert mit den folgenden Tasten: home, end, pagedown, pageup, backspace, delete, up, down, left und right. Es handelt sich nicht um das einfügen aus der Zwischenablage.
Hoffe, jemand findet es nützlich!
InformationsquelleAutor der Antwort Andrew Plank
Sich auf keypress, keydown, keyup ist eine fehlerhafte Lösung, weil ein Benutzer kann kopieren und einfügen von Daten in die textarea ohne Tastendruck.
Begrenzen die Länge von text in einer textarea mit javascript-unabhängig davon, wie die Daten erhält, dort müssen Sie verlassen sich auf eine setInterval-Funktion timer-statt.
Offensichtlich, ich nehme an, Sie haben eine id der Nachricht zugewiesen textarea.
InformationsquelleAutor der Antwort Halfstop
versuchen.
InformationsquelleAutor der Antwort insCode
InformationsquelleAutor der Antwort Diego Plentz
Versuchen. Funktioniert sogar für kopieren und einfügen von der Tastatur:
InformationsquelleAutor der Antwort vinayjags
Ich finde, es funktioniert perfekt und nicht einmal flash die überschüssigen Zeichen in der textarea-Instanz vor, Sie zu entfernen, wie ein paar andere Lösungen.
InformationsquelleAutor der Antwort Dorian Fabre