2013-12-06 2 views
0

Привет, У меня есть ошибка в счетчике слов для текстового поля и, похоже, не вижу проблемы. Это показывает, огромное количество («Осталось символов: 2147483645»), даже если предел слова 250. Это мой код:Счетчик слов в textarea error

<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, которая имеет другой синтаксис. Благодаря

ответ

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

+0

Спасибо, я буду видеть, как я буду справиться с этим. – user2918976

+0

Проблема заключалась в том, что отсутствовала максимальная длина из текстового поля :) простое добавление maxlength = "250" устраняло проблему – user2918976

+0

о, хорошо, пишите это в свой вопрос и принимайте в качестве ответа –