如何限制在文本区域中输入的字符数

Nic*_*ahn 5 javascript jquery

这是我尝试限制输入文本区域的字符数:

var limit = 255;
var txt = $('textarea[id$=txtPurpose]');

$(txt).keyup(function() {
    var len = $(this).val().length;
    if (len > limit) {
        //this.value = this.value.substring(0, 50);
        $(this).addClass('goRed');
        $('#spn').text(len - limit + " characters exceeded");
        return false;
    } else {
        $(this).removeClass('goRed');
        $('#spn').text(limit - len + " characters left");
    }
});
Run Code Online (Sandbox Code Playgroud)

但是,它不能很好地工作.如何在达到某个限制(例如255个字符)后阻止用户输入文本?

Ste*_*lim 9

这是我用来限制1200个字符的东西.当有人输入太多字符时,我只是截断该textarea的内容.

$(function() {
    //set up text length counter
    $('#id_limited_textarea').keyup(function() {
        update_chars_left(1200, $('#id_limited_textarea')[0], $('#text_chars_left'));
    });
    //and fire it on doc ready, too
    update_chars_left(1200, $('#id_limited_textarea')[0], $('#text_chars_left'));

});

function update_chars_left(max_len, target_input, display_element) {
   var text_len = target_input.value.length;
   if (text_len >= max_len) {
       target_input.value = target_input.value.substring(0, max_len); // truncate
       display_element.html("0");
   } else {
       display_element.html(max_len - text_len);
   }
}
Run Code Online (Sandbox Code Playgroud)


def*_*u1t 9

虽然这个问题已经很久了.如果我是你,我会做一些非常简单的事情

<textarea maxlength="255"></textarea>
Run Code Online (Sandbox Code Playgroud)

这将限制用户在textarea中仅输入255个字符.


Blu*_*eft 5

$(this).val( $(this).val().substring(0, limit) );
Run Code Online (Sandbox Code Playgroud)