Foros del Web » Programando para Internet » Javascript »

Salto de línea automatico en TEXTAREA

Estas en el tema de Salto de línea automatico en TEXTAREA en el foro de Javascript en Foros del Web. Hola! necesito detectar cuando un TEXTAREA tiene que partir una frase para mostrarla en dos líneas porque dicha frase no entra en el ancho del ...
  #1 (permalink)  
Antiguo 21/12/2004, 13:53
 
Fecha de Ingreso: julio-2004
Mensajes: 64
Antigüedad: 19 años, 9 meses
Puntos: 0
Salto de línea automatico en TEXTAREA

Hola! necesito detectar cuando un TEXTAREA tiene que partir una frase para mostrarla en dos líneas porque dicha frase no entra en el ancho del TEXTAREA. Por ejemplo esto ocurre cuando se empieza a escribir dentro del área de texto y se llega al borde derecho sin pulsar "Enter". ¿Existe algún evento de TEXTAREA que lo indique?

La página Web que estoy creando es parecida al siguiente código:

<html>
<head>
<SCRIPT>
function AjustaTextArea(){
TA1.rows = TA1.value.split('\n').length
}
</SCRIPT>
</head>
<body onload="AjustaTextArea()">
<TEXTAREA ID=TA1 STYLE="width:50%;border-width:2px;overflow-y:hidden;background-color:transparent" ROWS=1 READONLY=true>
Esto es un texto de prueba.
Segunda línea de prueba.
Tercera línea de prueba.
Cuarta línea de prueba.</TEXTAREA>
</body>
</html>

Lo que quiero conseguir es que se ajuste automáticamente el número de líneas (Rows) del TEXTAREA para mostrar todo su contenido sin que aparezca el Scroll.
En el ejemplo puedes añadir todas las líneas que quieras y veras que el TEXTAREA se ajusta al cargar la Web porque el javascript cuenta los saltos de línea (\n) y pone ese mismo número de líneas (Rows). Pero si una de estas líneas es lo suficientemente larga, el TEXTAREA provoca un salto de línea automático que no puedo detectar.
Para verlo prueba primero a añadir nuevas líneas cortas en el código fuente y recarga la página. Después prolonga una línea, por ejemplo la 3 hasta que sea bastante larga y vuelve a recargar la Web.
El ajuste del Textarea tiene que ser automático, tal y como lo estoy haciendo, porque el texto que va a llevar dentro va a ser variable y se escribirá automáticamente en el TEXTAREA con otro JavaScript.

Gracias y un saludo!
  #2 (permalink)  
Antiguo 29/12/2004, 12:44
Avatar de TurKa  
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 21 años, 3 meses
Puntos: 4
Lo único que pude hacer hasta el momento es que cuando "escribes" dentro del textarea y se alcanza a escribir una cantidad de caracteres igual al ancho del textarea (a las columnas -cols-), o presionas enter, se agregue una nueva fila:

Código HTML:
<script languaje="javascript">
function saltar() {
texto = txt.value.length;
cant = txt.cols;
limite = cant;
	if(texto == cant) {
		limite = cant;
	}
	else {
		for(i=1;i<1000;i++) {
			if(texto == (cant*i)) {
				limite = (cant*i);
			}
		}
	}
	if((texto == limite)||(event.KeyCode==13)) {
		txt.rows = txt.rows+1;
	}
}
</script>
<textarea name=txt ROWS="1" COLS="40" onKeyPress="saltar()"></textarea> 
No es lo que necesitas pero tal vez te pueda ayudar en algo para aunque sea orientarte ¿?
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar

Última edición por TurKa; 29/12/2004 a las 12:47
  #3 (permalink)  
Antiguo 03/01/2005, 05:10
 
Fecha de Ingreso: julio-2004
Mensajes: 64
Antigüedad: 19 años, 9 meses
Puntos: 0
Gracias por tu ayuda Turka. Voy a ver si puedo adaptar tu código. El problema es que el usuario no va a escribir en el TextArea y el ajuste de líneas debería ocurrir durante la carga de la Web porque el texto que va dentro del TextArea ya estaría escrito en el código HTML. Si lo consigo ya te contaré... Saludos.
  #4 (permalink)  
Antiguo 12/09/2008, 14:03
 
Fecha de Ingreso: mayo-2005
Mensajes: 7
Antigüedad: 19 años
Puntos: 0
Respuesta: Salto de línea automatico en TEXTAREA

Esta muy bien tu código, pero sería bueno, poner un limite, que detecte el número de caractéres, por decir un ejemplo, que llegue a 100 y el textarrea ya no pueda ampliar y que manda un alert donde diga que ha sobre pasado el número de caracatéres.
  #5 (permalink)  
Antiguo 12/09/2008, 14:14
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Salto de línea automatico en TEXTAREA

El mensaje original es de hace más de 3 años. Por favor, no reviváis temas tan antiguos.

Saludos,
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 15:25.