jQuery Textfeld max Länge validation
Ich habe den folgenden code, die gut funktioniert, aber das problem ist, dass nach überschreiten der 500-Zeichen beginnt es zu ermöglichen, den Benutzer zu geben (er nimmt die Zeichen, die statt Einschränkung!).
Wie kann ich es ändern? Gibt es irgendeine Möglichkeit zu verallgemeinern diesen code, so kann es mehrere Texte, die sich wie eine Funktion und übergib einfach den Parameter?
$('#txtAboutMe').keyup(function () {
var text = $(this).val();
var textLength = text.length;`enter code here`
if (text.length > maxLength) {
$(this).val(text.substring(0, (maxLength)));
alert("Sorry, you only " + maxLength + " characters are allowed");
}
else {
//alert("Required Min. 500 characters");
}
});"
Ich dachte immer nur input-Typen akzeptieren würde eine maxlength ?
das ist, warum er will, es zu tun für textarea
Kannst du die relevanten HTML?
aber auf der Suche stackoverflow gibt es viele jquery-Lösungen fo.
ja u sind Recht textarea ist ein input type nur
das ist, warum er will, es zu tun für textarea
Kannst du die relevanten HTML?
aber auf der Suche stackoverflow gibt es viele jquery-Lösungen fo.
ja u sind Recht textarea ist ein input type nur
InformationsquelleAutor Tan | 2011-07-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie versuchen, die Definition einer maxLength verwendet werden, für den Vergleich (falls es nicht definiert ist gleich undefined und jede Zahl ist mehr als undefiniert: das ist, warum Sie nevere Holen Sie sich die Warnung, die ich denke):
$(this).val(...)
auf einige browser bewegen Sie den cursor.InformationsquelleAutor Nicola Peluchetti
Sollten Sie nicht auf
keyup
. Versuchenkeypress
statt. Das problem ist aufkeyup
den Charakter bereits ausgelöst wurde und geschrieben steht. Hier ist eine gute tutorial. Beachten Sie das keypress-Ereignis.etwas gepostet, das Sie bei allen Browsern. Hinweis auf opera nur der Tastendruck ist zu streichen und keydown nicht funktioniert. Ich hoffe, dies half. Schauen Sie sich das tutorial für weitere Hilfe.
vergessen Sie nicht, akzeptieren Sie eine Antwort.
Das ist großartig, aber "13" sollte nicht eine Taste zu ignorieren. Das ermöglicht Ihnen die Eingabe einer unendlichen Anzahl von Zeilenschaltungen. Ich würde erwarten, dass die "max-Länge" umfasst Wagenrücklauf/Zeilenvorschub.
InformationsquelleAutor Amir Raminfar
Die Lösung besteht aus zwei teilen:
verwenden preventDefault zu stoppen, den Brief eingefügt werden
});
InformationsquelleAutor user2918522