Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/08/2013, 07:09
Kaviol_mondiola
 
Fecha de Ingreso: marzo-2013
Mensajes: 3
Antigüedad: 11 años, 1 mes
Puntos: 0
Ajustar rows de textarea al contenido

Hola, estoy teniendo un problema a la hora de mostrar un texto en el textarea.

Tengo una variable de tipo string donde la coloco en el textarea, este tiene 90 columnas, esto no se puede cambiar, y lo que quiero es que se ajuste al contenido, logre hacerlo para que funcione en Firefox, funciona de maravilla, el problema esta en que en IE las 90 columnas no son iguales que en firefox

Código:
function getNbLinesInit(chaine, cols) {
	var lines = 0;
	chaine = deleteLinesBreakEnd(chaine); // Borra los saltos de linea del final
	var tableau = chaine.split("\n");
	for (var i=0; i<tableau.length; i++) {
		if(tableau[i].length >= cols) 
			lines = lines + Math.floor(tableau[i].length/cols);
		lines++;
	}
	
	return lines - 2;
}

function deleteLinesBreakEnd(texto) {
	while(texto.substring(texto.length-2) == "\n")
		texto = texto.substring(0, texto.length-2);
	return texto;
}
Esto lo que hace es separar el texto en varios elementos de un array a partir de los saltos de lineas para contar la cantidad de rows que tengo que setearle al textarea, agregando tambien si la longitud de ese elemento del array es mayor a 90, 180, etc sume el resultado de la division entre la longitud de este y 90.

La pregunta es si hay algo mas sencillo y que funcione para ambos navegadores. No se si logre explicarme.

Un saludo y gracias.