Foros del Web » Programando para Internet » Javascript »

Ajustar rows de textarea al contenido

Estas en el tema de Ajustar rows de textarea al contenido en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 01/08/2013, 07:09
 
Fecha de Ingreso: marzo-2013
Mensajes: 3
Antigüedad: 11 años, 7 meses
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.

Etiquetas: contenido, funcion, rows, textarea, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:11.