Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/06/2007, 12:05
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

Ahí no es como una caja de texto normal, al haber saltos de línea, y no tener que completar los caracteres la línea completa no se me ha ocurrido una manera de calcular si se necesita scroll o no en el textarea.

Si a alguien se le ocurre, posting please.


De momento dejo este aporte, sólo calcula el ancho, el cols, pero no se me ocurre cómo hacer la altura:

Código:
<textarea cols="10" rows="5" onkeypress="ajusta(this)"></textarea>

<script>

var primeraVez=false;
var colsOriginal, rowsOriginal;
function ajusta(box) {
	var cols=parseInt( box.getAttribute("cols") );
	var rows=parseInt( box.getAttribute("rows") );
	if(primeraVez==false) {
		colsOriginal=cols;
		rowsOriginal=rows;
		primeraVez=true;
	}
	//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=0, max=0; i<palabras.length; i++)
		if(palabras[i].length>max)
			max=palabras[i].length;
	if(max>colsOriginal)
		box.setAttribute("cols",max);
}


</script>
Vamos a intentar la altura...
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.