Вы можете применить то, что у вас есть, к любой текстовой области:
$(document).ready(function() {
limitTextBox("#message", "#charCount", 255);
});
function limitTextBox(box, charsDisplay, charactersAllowed) {
var $box = $(box),
$charsDisplay = $(charsDisplay);
$charsDisplay.html(charactersAllowed - ($box.val().length));
$box.keyup(function() {
$charsDisplay.html(charactersAllowed - ($box.val().length));
if($box.val().length > charactersAllowed) {
$box[0].value = $box[0].value.substring(0, charactersAllowed);
$charsDisplay.html(charactersAllowed - ($box.val().length));
}
});
}
Живой пример
... но я настоятельно рекомендую вам не делай этого .Вместо этого посмотрите, как StackOverflow ограничивает ввод в текстовые поля (например, комментарии).Они позволяют вам печатать все, что вы хотите, но только на самом деле позволяют сохранить комментарий, если вы находитесь в пределах досягаемости.Такое усечение контента по типу пользователя приводит к ужасному восприятию пользователя.
Не по теме : иногда в вашей исходной функции вы использовали val()
в jQueryНапример, в другой раз вы использовали value
для необработанного элемента DOM.Я сохранил это выше, но вы, вероятно, хотите выбрать один или другой и использовать его повсюду.