textarea错误中的字计数器

时间:2013-12-06 10:35:22

标签: jquery count textarea word maxlength

你好我在textarea的单词计数器上有一个错误,似乎无法看到问题。它显示了一个巨大的数字(“剩余字符:2147483645”),即使字数限制为250.这是我的代码:

<textarea class="input-textarea" minlength="0" rows="8" cols="40" data-character-limit="250"></textarea>

JS:

$('form textarea[maxlength].input-textarea').off("keyup.default37").on("keyup.default37", function(e){
    //if contact us from the order details ; do not show wordcounter
    if($('#dwfrm_contactus_comment').length) {
        return;
    }

    if ($(this).parent().find('span.wordcounter').length==0) {
        $('<span/>').attr('class','wordcounter error').appendTo($(this).parent());
    }

    if ($(this).val().length < this.maxLength) {
        $(this).parent().find('span.wordcounter').html(app.resources.TEXTAREA_REMAINING_MESSAGE+($(this).attr('maxlength')-$(this).val().length));
    }
    else if ($(this).val().length >= this.maxLength) {
        $(this).val($(this).val().substr(0,this.maxLength));
        $(this).parent().find('span.wordcounter').html(app.resources.TEXTAREA_MAXIMUM_LENGTH);
    }
});

请注意,html不是确切的,因为我正在使用具有不同语法的eccomerce平台。感谢

1 个答案:

答案 0 :(得分:0)

为什么不采用简单的方法:

示例HTML

<div >
    <textarea class="input-textarea" minlength="0" rows="8" cols="40" data-character-limit="25"></textarea>
    <span class="chars-left"></div>
</div>

和JS

$(document).ready(function(){
    $('.chars-left').text($('textarea').data('character-limit'));
    $('textarea').on('keyup', function(e){
        if($(this).val().length > $(this).data('character-limit')) {
            $(this).val($(this).val().substr(0,$(this).data('character-limit')));
        }
        var left = $('textarea').data('character-limit') - $(this).val().length;
        $('.chars-left').text(left);
    });
});

正在工作fiddle