带有jquery的textarea中的最大字符数

Bil*_*ill 24 javascript validation jquery textarea

我有以下代码,我有点坚持下一步做什么.这个想法是当你在文本区域输入文本时,计数器会告诉你剩下多少个字符.一旦你达到最大字符我想停止允许输入字符,或删除所有输入的字符,因此文本区域中只有10个字符.我知道我必须把代码放在它说的地方,alert("LONG");但我不太确定是什么.

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");
            }



        });
Run Code Online (Sandbox Code Playgroud)

dap*_*jer 38

所有这些答案都有点奇怪,因为他们试图做得太多.一种更简单,视觉上更令人愉悦的方式(因为它显示文本被快速切断) - 并且前一个例子(注意它如何覆盖最终键?)的奇怪性较少 - 是简单地切断keyUp上的字符数到允许的数量.

        var textlimit = 400;

        $('textarea').keyup(function() {
            var tlength = $(this).val().length;
            $(this).val($(this).val().substring(0, textlimit));
            var tlength = $(this).val().length;
            remain = textlimit - parseInt(tlength);
            $('#remain').text(remain);
         });    
Run Code Online (Sandbox Code Playgroud)

请注意,这也适用于粘贴文本,因为上面的一些示例没有.

示例:http://jsfiddle.net/PzESw/5/


Hus*_*ein 25

在这里.任何超出字符限制的内容都将被删除.

$('textarea').keypress(function(e) {
    var tval = $('textarea').val(),
        tlength = tval.length,
        set = 10,
        remain = parseInt(set - tlength);
    $('p').text(remain);
    if (remain <= 0 && e.which !== 0 && e.charCode !== 0) {
        $('textarea').val((tval).substring(0, tlength - 1));
        return false;
    }
})
Run Code Online (Sandbox Code Playgroud)

查看http://jsfiddle.net/JCehq/1/上的工作示例

  • 复制粘贴仍有问题.您可以将任何内容粘贴到textarea. (12认同)
  • 有没有人找到复制到textarea的解决方案? (4认同)
  • 这不是一个完成的解决方案. (4认同)