Ver Mensaje Individual
  #8 (permalink)  
Antiguo 15/06/2007, 13:10
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 2 meses
Puntos: 45
Re: Imprimir textarea con scrollbar

Bueno, me he rendido. Buscando buscando he entrado ejemplos de crecimiento vertical:
http://markos.gaivo.net/examples/gro...rea/index.html

Así que mi script se reduciría a ésto:
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
html>
<
head>
<
title></title>
<
meta name="Author" content="derkeNuke">
</
head>

<
body>


<
textarea cols="15" rows="5" onkeydown="ajusta(this)"></textarea>

<
div id="info"></div>

<
script>

var 
primeraVez=false;
var 
colsOriginalaltoOriginalbordes;
function 
ajusta(box) {
    var 
cols=parseIntbox.getAttribute("cols") );
    if(
primeraVez==false) {
        
colsOriginal cols;
        
altoOriginal box.offsetHeight;
        
primeraVez true;
        
bordes box.offsetHeight box.scrollHeight;
    }
    
//la palabra más larga (si es más larga que cols) definirá el nuevo cols
    
var palabras=box.value.split(/s/);
    for(var 
i=0max=0laMasLarga=""i<palabras.lengthi++)
        if(
palabras[i].length>max) {
            
max=palabras[i].length;
            
laMasLarga palabras[i];
        }
    if(
max>colsOriginal)
        
box.setAttribute("cols",max);
    else
        
max parseInt(colsOriginal)+1;        // el atributo cols deja un caracter más de los que dice dejar.
    

    
document.getElementById("info").innerHTML = (box.scrollHeight+bordes) +" -- "box.offsetHeight;
    
box.style.height Math.maxbox.scrollHeight+bordesaltoOriginal );


}


</script>

</body>
</html> 
Más alguna manera de quitar altura si se borran caracteres o cuando se aumenta el ancho.


Seguiré en ello.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.