Вам надо в сторону jquery глядеть Azn там все легко.
Вариант предложены GlooM мне не понравился, что то он громоздкий.
покажу что у меня получилось, делал под свои нужны, поэтому показываю что у меня.
Стандартная функция onkeypress='CaracMax(this, $field->maxlength) каторая вызывается когда мы вводим текст в поле типа textarea.
Она при вводу возвращает текст минус 1 символ. Как вы поняли ее можно обмануть вставив большой текст из буфера.
Мне же хотелось чтобы из буфера не льзя вставить, ну и самое главное отображалось сколько осталось символов.
Данная необходимость у меня есть только в типе поле textarea. поэтому пример именно на нем.
Открываем файл adsmanager.html.php
ищем строки (это не особо важно куда вставлять)
function CaracMax(texte, max)
{
if (texte.value.length >= max)
{
texte.value = texte.value.substr(0, max - 1) ;
}
}
</script>
после этого скрипта я вставляю свой
<script type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
</script>
Далее ищем код
ase 'textarea':
if ($field->editable == 0)
вместо
if ($field->required == 1)
echo "<textarea class='adsmanager_required' mosReq='1' mosLabel='$strtitle' id='$name' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onkeypress='CaracMax(this, $field->maxlength) ;' $read_only>$value</textarea>\n";
else
echo "<textarea class='adsmanager' id='$name' mosLabel='$strtitle' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onkeypress='CaracMax(this, $field->maxlength) ;' $read_only>$value</textarea>\n";
break;
Меняем на
if ($field->required == 1)
{
echo "<textarea class='adsmanager_required' mosReq='1' mosLabel='$strtitle' id='$name' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onKeyDown='limitText(this,name=count$name, $field->maxlength);' onKeyUp='limitText(this,name=count$name, $field->maxlength);' $read_only>$value</textarea> \n";
echo "<br> ";
echo ADSMANAGER_COUNT_TEXT;
echo "<input readonly type='text' name=count$name size='3' value='$field->maxlength'/> ";
}
else
{
echo "<textarea class='adsmanager' id='$name' mosLabel='$strtitle' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onKeyDown='limitText(this,name=count$name, $field->maxlength);' onKeyUp='limitText(this,name=count$name, $field->maxlength);' $read_only>$value</textarea>\n";
echo "<br> ";
echo ADSMANAGER_COUNT_TEXT;
echo "<input readonly type='text' name=count$name size='3' value='$field->maxlength'/> ";
}
break;
вот так выглядит
