Автоматически увеличиваем textarea by kavadims

Автоматически увеличиваем textarea by kavadims


Понадобилось сделать авто увеличение textarea и наткнулся на дле форум,
НО мне не хотелось для это ерунды подключать библиотеку - jQuery ...
.. все можно сделать на много проще..
1. Открываем - addcomments.tplи смотрим какой class в комменте -
примерно так выглядит -
<textarea name="comments" class="f_textarea" id="comments" >{text}


у меня - f_textarea   ...

2. Находим в css класс и меняем высоту на минимальную высоту  =)
кароче примерно так будет -

.f_textarea {
    color: #757575;        /* ! */
    font-size: 11px;        /* ! */
    font-family: tahoma;    /* ! */
    background-image: url(../images/dlet_field_o.gif);
    background-repeat: repeat-x;
    width: 459px;
    height: 156px;
    border: 1px solid #e0e0e0;


меняем в нем высоту ....

.f_textarea {
    color: #757575;        /* ! */
    font-size: 11px;        /* ! */
    font-family: tahoma;    /* ! */
    background-image: url(../images/dlet_field_o.gif);
    background-repeat: repeat-x;
    width: 459px;
    min-height: 156px;
    border: 1px solid #e0e0e0;



3. Теперь в addcomments.tpl добавляем

<script language="javascript">
function countLines(strtocount, cols) {
    var hard_lines = 0;
    var last = 0;
    while ( true ) {
        last = strtocount.indexOf("\n", last+1);
        hard_lines ++;
        if ( last == -1 ) break;
        }
    var soft_lines = Math.ceil(strtocount.length / (cols-1));
    var hard = eval("hard_lines " + unescape(">") + "soft_lines;");
    if ( hard ) soft_lines = hard_lines;
    return soft_lines;
}
function cleanForm() {
    var the_form = document.getElementById('comments');
    the_form.rows = countLines(the_form.value,the_form.cols) +1;
    setTimeout("cleanForm();", 500);
}
cleanForm();
</script>


Demo для непонятливых - _http://www.vadims.info/test

Вуаля =) Все Работает!
Другие новости по теме:

Категория: Хаки ----- Просмотров: 2207 ----- Комментариев: 6

Вернуться

  • Hedin

  • 23 июня 2009 18:38
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
не это неправильная идея лучш самому растягивать и заодно такую штуку к смайлам сделать :)
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
К смайлам было бы шикарно прикрутить!

Согласен на счет jquery прикручивать для такого - это слишком уж раскошно)), более простой Вариант, автор спасибо!
  • Omen

  • 23 июня 2009 20:07
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
по моему особо не нужно
  • Группа: User
  • ICQ: 817135
  • Регистрация: 12.12.2008
  • Комментариев: 321
  • Публикаций: 0
^
Хмм... для форума может иной раз и понадобиться, но для обычных комментов не катит. Они и так короткие, зачем же делать лишний запас?

--------------------
  • Группа: User
  • ICQ: --
  • Регистрация: 26.07.2008
  • Комментариев: 122
  • Публикаций: 10
^
да я себе для Новостей вообщето думал ... =)

так как новости большие - и пользователю удобней будет
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
а нука по подробней вот это можно и для новостей поставить?