Ограничение количества символов со счетчиком при вводе текста.

+31
4.39K
Приветствую всех!

Понадобилось на одном проекте ограничить количество вводимых символов в текстовом поле и вывести счетчик оставшихся букв. Решение достаточно простое.

Иллюстрация

Скачиваем и копируем файл скрипта jquery.limit.js в папку /inclides/jquery/

в Файле шаблона /templates/ваш_шаблон/template.php перед закрывающим тегом </head> вставить
  1. <script type="text/javascript" src="/includes/jquery/jquery.limit.js"></script>
Затем нужно подправить текстовое поле (textarea) в нужном файле. Покажу на примере доски объявлений.

В файле /templates/ваш_шаблон/components/com_board_edit.tpl находим текстовую область textarea, в дефолтном шаблоне строка 43

  1. <textarea name="content" class="text-input" style="width:403px" rows="5" id="content">{$item.content|escape:'html'}</textarea>
и заменяем на

  1. <span>
  2. <textarea name="content" class="text-input" style="width:403px" rows="5" id="content">{$item.content|escape:'html'}</textarea>
  3.  
  4.  
  5. <span id="charsLeft"></span> {$LANG.CHAR}.</span>
где {$LANG.CHAR} это надпись "символов осталось".

и в этом же документе, внутри тэгов {literal} {/literal} вставляем

  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $('textarea').limit('50','#charsLeft');
  4. });
  5. </script>
где 50 — это количество символов, которым ограничено сообщение.


Ну и на последок в языковом файле доски /languages/ru/components/board.php вставить

  1. $_LANG['CHAR'] ='символов осталось';
Скачать

Всем добра!
0
Димитриус Димитриус 9 лет назад #
+
0
stasis stasis 9 лет назад #
То, что нужно... +++
0
Александр Александр 9 лет назад #
Я так понял, что это ограничение будет действовать одинаково в последствии на все поля <textarea> которые выводятся на сайте? Ведь Вы предлагаете прикрутить скрипт с указанием лимита на ввод прямо в файле template.php. Или Я чего-то не понял?
Может этот код:
Код PHP:
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $('textarea').limit('50','#charsLeft');
  4. });
  5. </script>
Вставлять непосредственно в тот файл .tpl в котором расположено текстовое поле которому и необходимо указать ограничение для ввода символов?
Ещё раз, прошу извинить, если Я что-то не правильно понял, но идея плюса стоит, спасибо.
0
Александр Александр 9 лет назад #
По моему, Я сам себе и отвечу, потому что сам сразу не допёр, что скрипт с ограничением лимита будет действовать только на ту форму к которой привязана строка кода с id="charsLeft"
Ну, бывает, поэтому просил, извинить :)
0
PrazdNik PrazdNik 9 лет назад #
Вы оказались абсолютно правы, я этот момент как-то упустил. код
Код PHP:
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $('textarea').limit('50','#charsLeft');
  4. });
  5. </script>
нужно вставить в том документе (компоненте), в котором нужно сделать оганичения. В данном случае в шаблоне редактирования/добавления обяъвления.

Пост поправил.
+1
deltas deltas 9 лет назад #
Чтобы скрипт не действовал на все <textarea> , а также если хотите контроллировать несколько полей на странице, то обращаться к ним стоит по Id , тоесть вместо
Код PHP:
  1. $('textarea').limit('50','#charsLeft');
в данном случае пишите
Код PHP:
  1. $('#content').limit('50','#charsLeft');
( у поля <textarea id="content")
0
cms-admin.ru cms-admin.ru 9 лет назад #
Было бы отлично оформить это в виде плагина, а в настройках плагина задавать количество символов для ограничения ввода.
0
VopisUVD VopisUVD 9 лет назад #
Ну как говорится раз пошла такая пьянка то я бы был благодарен за реализацию в таком ключе:
Код PHP:
  1. Рекомендованное количество для комментария 50 символов...
Далее когда это количество превышается то появлялась бы надпись
Код PHP:
  1. Спасибо ваш комментарий превышает 50 символов, вам + в рейтинг
Ну а если модулем кто соберется делать то эти тексты чтоб через админку вводились...

И зачем вообще ограничивать количество символов или у вас твитер2???
0
PrazdNik PrazdNik 9 лет назад #
И зачем вообще ограничивать количество символов или у вас твитер2???
Бывает флудеры попадаются, пишут огромные тексты в описаниях и подобных местах.

Еще от автора

Слайдер новых объектов InstantMaps
Приветствую, друзья! Хочу поделиться простеньким слайдером для вывода новых объектов мапса.
Универсальный шаблон для InstantCMS v1.10 (платный)
Приветствую, друзья! Представляю вашему вниманию универсальный шаблон для InstantCMS v1.10. Подойдет для сайта почти любой тематики.
Прочитанные сообщения v 2.0. "Отметить как прочитанное"
Приветствую всех! В преддверии нового хочется сделать маааааленький, но полезный презент.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.