你好我在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平台。感谢
答案 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