Подсчет количества символов в комментарии

Подсчет количества символов в комментарии

Использование скрипта Real World JQuery Jeditable Char Counter позволяет вывести количество введенных символов в поле комментария. Его работу можно увидеть на этом сайте.

Установка:
1. Скопировать содержимое архива в папку с шаблоном. По умолчанию используется шаблон с именем Default.

2. Открыть в шаблоне main.tpl и добавить:
<link href="{THEME}/css/charcounter.css" type="text/css" rel="stylesheet">
<script src="{THEME}/js/charcounter.js"></script>
<script>$('#comments').charCounter(1000, {container: "<div></div>", classname: "grey comm_char", formatUp: "<b>%1</b> / 1000"});</script>

Ограничение введенных в комментарий символов задается числом в настройках DLE, а именно Настройка системы > Комментарии. Это же число проставляется в строке, что выше. По умолчанию указано 1000 символов.

Готово!

podschet-kolichestva-simvolov-v-kommentarii.zip
Создайте аккаунт или авторизуйтесь для скачивания
 
Версия DLE: 12.х-13.х
Кодировка: utf-8
Источник
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.

Комментариев 3

GANKSTER 2 июля 2022 15:07
Зачем подключать дополнительные стили и js когда можно вставить код уже в подключенные. В js:
(function(a){a.fn.charCounter=function(b,d){b=b||140;d=a.extend({container:"<p></p>",classname:"charcounter",format:"(%1 characters remaining)",formatUp:"(%1 characters)",pulse:true,countUp:true,delay:0},d);var h,g;function f(i,j){if(h){window.clearTimeout(h);h=null}i.animate({opacity:0.1},100,function(){a(this).animate({opacity:1},100)});if(j){h=window.setTimeout(function(){f(i)},200)}}function c(i,j,k){if(d.countUp){j.html(d.formatUp.replace(/%1/,k.val().length))}else{j.html(d.format.replace(/%1/,(i-k.val().length)))}}function e(j,i){j=a(j);if(b>0&&j.val().length>b){j.val(j.val().substring(0,b));if(d.pulse&&!h){f(i,true)}}if(d.delay>0){if(g){window.clearTimeout(g)}g=window.setTimeout(function(){c(b,i,j)},d.delay)}else{c(b,i,j)}}return this.each(function(){var i=(!d.container.match(/^<.+>$/))?a(d.container):a(d.container).insertAfter(this).addClass(d.classname);a(this).bind("keydown",function(){if(d.enterSubmits&&event.keyCode===13&&!event.shiftKey&&!event.ctrlKey){event.preventDefault();a(this.form).submit();return false}else{e(this,i)}}).bind("keypress",function(){e(this,i)}).bind("keyup",function(){e(this,i)}).bind("focus",function(){e(this,i)}).bind("mouseover",function(){e(this,i)}).bind("mouseout",function(){e(this,i)}).bind("paste",function(){var j=this;setTimeout(function(){e(j,i)},10)});if(this.addEventListener){this.addEventListener("input",function(){e(this,i)},false)}e(this,i)})}})(jQuery);
$('#comments').charCounter(1000, {container: "<div></div>", classname: "grey comm_char", formatUp: "<b>%1</b> / 1000"});

Стили в стили свои.
--------------------
Ищешь шаблон для dle? тебе сюда dletm.ru
Oxigen 4 декабря 2019 06:42
Maverik, парсер движка даже в теге CODE коверкает код.
Вместо /templates/Default следует использовать {THEME}
--------------------
Всё, что вы напишите, будет использовано против вас при показе контекстной рекламы :)
Maverik 4 декабря 2019 02:50
Не работает, если подключить эти файлы
<link href="/templates/Default/css/charcounter.css" type="text/css" rel="stylesheet">
<script src="/templates/Default/js/charcounter.js"></script>

напрямую в соответствующие файлы в шаблоне. Проверять как написано в инструкции к установке не стал.