Фильтр по:
  

  • Страница 1 из 1
  • 1
Модератор форума: likbezz  
Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать? Информация для вновь прибывших » Как сделать... » Как сделать ограничение поста по символам, лимит поста? (Счётчик с указанием max лимита символов, с выводом окошка)
Как сделать ограничение поста по символам, лимит поста?
Дата: Понедельник, 23.05.2011, 23:09 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Скрипт лимита поста. (моя версия)
...

Скрипт добавляется в шаблон: Форум » «Форма добавления сообщения» в самый низ или после оператора $_MESSAGE$.

Сам скипт:

Code
<script type="text/javascript">
/* Copyright: http://likbezz.ru/ */     
function checklen(){      
var maxlen=4000;/* Максимальное кол-во символов в сообщении */
var obj=document.getElementById('message'),cntr=document.getElementById('fcounter'),str=obj.value,len=str.length;
if(len>maxlen){str=str.substring(0,maxlen);
alert('Превышен максимальный лимит символов: '+maxlen+'');
len=str.length;obj.value=str;} ;     
cntr.value=(maxlen-obj.value.length);      
while(cntr.value<0){obj.value=str.substring(0,len-1);      
str=obj.value;len=str.length;cntr.value=(maxlen-obj.value.length);      
}};
document.getElementById('message').onkeyup=function(){setTimeout('checklen()',100);}
</script>

Где:
var maxlen=4000; - максимальный лимит символов. При превышении сообщение будет обрезаться.
alert('Превышен .... : '+maxlen+''); - сообщение, выводимое при превышении лимита.
...

Также, после оператора $_MESSAGE$, добавляется код инпута, выводящего информацию о количестве оставшихся символов:

Код инпута:

Code
<div style="text-align:left;">Оставшийся лимит: <input id="fcounter" type="text" class="codeButtons" size="6" value="4000" readonly="readonly"> символов</div>

Где:
value="4000" - изначальное значение, выводимое в инпуте. Должно равняться maxlen (максимальный лимит символов) - не существенно.
...

Всё вместе:
Вот так (фрагмент кода):

Code
<td class="gTableRight" id="frM58">$BBCODES$
$_MESSAGE$
<div style="text-align:left;">Оставшийся лимит: <input id="fcounter" type="text" class="codeButtons" size="6" value="4000" readonly="readonly"> символов</div>
<script type="text/javascript">
/* Copyright: http://likbezz.ru/ */     
function checklen(){      
var maxlen=4000;/* Максимальное кол-во символов в сообщении */
var obj=document.getElementById('message'),cntr=document.getElementById('fcounter'),str=obj.value,len=str.length;
if(len>maxlen){str=str.substring(0,maxlen);
alert('Превышен максимальный лимит символов: '+maxlen+'');     
len=str.length;obj.value=str;} ;     
cntr.value=(maxlen-obj.value.length);      
while(cntr.value<0){obj.value=str.substring(0,len-1);      
str=obj.value;len=str.length;cntr.value=(maxlen-obj.value.length);      
}};
document.getElementById('message').onkeyup=function(){setTimeout('checklen()',100);}
</script>
</td>

Скрин вставки:


...

Результат:


...

Вопросы только по теме.

Вопросы в теме ограничены 1000 символами (на первой странице).
...

Прикрепления: 1133943.png (15.9 Kb) · 0172432.png (3.6 Kb)

 
Дата: Понедельник, 23.05.2011, 23:12 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Альтернативный скрипт, вставляющий инпут сам.
То бишь, просто добавляем скрипт в шаблон: Форум » «Форма добавления сообщения» в самый низ или после оператора $_MESSAGE$.
И всё.
Настройки те же.

Скрипт:

Code
<script type="text/javascript">
/* Copyright: http://likbezz.ru/ */     
function checklen(){      
var maxlen=4000;/* Максимальное кол-во символов в сообщении */
var obj=document.getElementById('message'),cntr=document.getElementById('fcounter'),str=obj.value,len=str.length;
if(len>maxlen){str=str.substring(0,maxlen);
alert('Превышен максимальный лимит символов: '+maxlen+'');     
len=str.length;obj.value=str;} ;     
cntr.value=(maxlen-obj.value.length);      
while(cntr.value<0){obj.value=str.substring(0,len-1);      
str=obj.value;len=str.length;cntr.value=(maxlen-obj.value.length);      
}};
$(function(){    
$('#message').after('<div style="text-align:left;">Оставшийся лимит: <input id="fcounter" type="text" class="codeButtons" size="6" value="" readonly="readonly"> символов</div>').bind('keyup',function(){setTimeout('checklen()',100);});
});
</script>

....


 
Дата: Понедельник, 23.05.2011, 23:15 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Наблюдать работу скрипта можно в этой теме Только зарегистрарованным. Ограничение только на первой странице и равно 1000 символов.



Прикрепления: 3657804.png (9.7 Kb)

 
Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать? Информация для вновь прибывших » Как сделать... » Как сделать ограничение поста по символам, лимит поста? (Счётчик с указанием max лимита символов, с выводом окошка)
  • Страница 1 из 1
  • 1
Поиск:


Мобильная версия