« # »

Adaptador automático de altura de textarea

Hace unas semanas programé el formulario para la encuesta de calidad de CDmon y hay unos campos de entrada de texto que son opcionales, los cuales programé para que se adapten a los saltos de línea que se vayan introduciendo, de manera que según se van haciendo saltos de línea, el textarea se va agrandando y adaptando a su texto interior.

JavaScript:
  1. window.onload=function(){
  2.     var t=document.getElementsByTagName("textarea");
  3.     for(var i=0;i<t.length;i++){
  4.         var ta=t[i];
  5.         ta.onkeyup=function(){
  6.             var salts=this.value.split("\n").length-1;
  7.             if(salts>=3){this.rows=salts+1;}
  8.             if(salts<3){this.rows=3;}
  9.         }
  10.     }
  11. }

Y por la parte del HTML, pues tantos textareas como se quiera.

HTML:
  1. <textarea name="text1" rows="3"></textarea>

Se puede modificar la altura base modificando el 3 por lo que se quiera.

Comentarios

  1. josepzin | Septiembre 28th, 2007 | 7:55 pm

    Epa! tengo el formulario de la encuesta abierto desde hace un par de días, esperando algún momento de inspiración divina para rellenarlo…

    Acabo de probar este efecto y me gusta lo que hace!!
    Agregado a mis librerías!!! :)
    Gracias!

  2. marc | Octubre 1st, 2007 | 9:31 am

    jaja, pues animos Jose! :)

    me alegro que te guste el efecto.

  3. josepzin | Febrero 9th, 2008 | 4:36 pm

    Finalmente he usado este codigo :)

    Aunque no usé el window.onload sino que al final del cuerpo html hago una llamada con a una funcion textarea_auto_height()

Deja un comentario

(*: Datos necesarios para dejar un comentario)

Get Adobe Flash playerPlugin by wpburn.com wordpress themes