Foros del Web » Programando para Internet » Javascript »

salto de linea textarea

Estas en el tema de salto de linea textarea en el foro de Javascript en Foros del Web. Hola, estoy haciendo una especie de pagina donde dejar comentarios..utilizando de un textarea que al pulsar en un unput button realice la actualizacion del div ...
  #1 (permalink)  
Antiguo 03/11/2010, 18:05
 
Fecha de Ingreso: junio-2010
Mensajes: 124
Antigüedad: 13 años, 10 meses
Puntos: 3
salto de linea textarea

Hola, estoy haciendo una especie de pagina donde dejar comentarios..utilizando de un textarea que al pulsar en un unput button realice la actualizacion del div donde contendre los comentarios mediante innerhtml..pero mi dudas son dos...

1.no me deja los comentarios con los saltos de linea (en el alert de comprobación si me lo pone pero en el div no y ya he probado con replace)

2.Para mantener los comentarios anteriores en el div e ir actualizandolos...tendria que concatenar las variables anteriores con las nuevas en el innerHTML ¿¿¿NO??'?

Os dejo mi codigo Graciassss


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>LAMBONADAS LA MARAVILLA</title>
<link href="estilos/1280.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="estilos/estilo_menu.css" type="text/css" />
<script type="text/javascript" src="js/ajax.js"></script>
</head>
<body>
<div id="divforo" name="divforo"></div>

<div id="divcomentario" ><textarea id="Comentario" rows="2" cols="60" ></textarea><input type="button" value="Comentar" onclick="recargarDiv(document.getElementById('Come ntario').value); return false" /></div>

</body>
</html>




function recargarDiv(textarea) {
//variable = escape(document.getElementById('Comentario').value );
//variable = variable.replace("\n", "<br>");

textarea = textarea.replace("\r","</br>");
textarea = textarea.replace(" ","&nbsp; ");
alert(textarea);
document.getElementById("divforo").innerHTML =document.getElementById("divforo").innerHTML+=tex tarea;
document.getElementById("Comentario").value="";

}


PD: asi me deja el comentario anterior siempre pero me pega el siguiente acto seguido, yo lo querría debajo a una cierta distancia...
  #2 (permalink)  
Antiguo 04/11/2010, 16:33
 
Fecha de Ingreso: junio-2010
Mensajes: 124
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: salto de linea textarea

nadie puede guiarmeee¿¿¿??? thanksss
  #3 (permalink)  
Antiguo 04/11/2010, 17:56
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 3 meses
Puntos: 57
Respuesta: salto de linea textarea

Trata cambiando \r por \n (como lo tienes en las lineas comentadas). Tambien </br> por <br>

Código javascript:
Ver original
  1. function recargarDiv(textarea) {
  2.   //variable = escape(document.getElementById('Comentario').value );
  3.   //variable = variable.replace("\n", "<br>");
  4.  
  5.   //textarea = textarea.replace("\r","</br>");
  6.   textarea = textarea.replace("\n","<br>");
  7.   textarea = textarea.replace(" ","&nbsp; ");
  8.   alert(textarea);
  9.   document.getElementById("divforo").innerHTML+=textarea;
  10.   document.getElementById("Comentario").value="";
  11. }
  #4 (permalink)  
Antiguo 06/11/2010, 19:14
 
Fecha de Ingreso: junio-2010
Mensajes: 124
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: salto de linea textarea

gracias por contestar

pues lo pongo así pero tampoco nada...si hago un alert con el contenido del textarea me aparece perfecto con los saltos de linea, etc...lo malo viene cuando regargo un div mediante el innerHTML con el contenido del textarea...me lo pone seguido sin respetar los saltos de linea..Gracias
  #5 (permalink)  
Antiguo 27/12/2010, 08:37
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: salto de linea textarea

Deberías buscar algo de información sobre Expresiones Regulares.

Tu código tenía varios cabos sueltos, además de estar fuera de las etiquetas de CODE que provee este sitio para que se pueda ver mejor.

La sugerencia que te dieron es válida. De entrada debería haber funcionado. Te dejo una versión más pulida.

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 

<title>LAMBONADAS LA MARAVILLA</title> 

<script type="text/javascript">

function recargarDiv(textarea) {
textarea = textarea.replace(/\r\n/g, "<br>");
textarea = textarea.replace(/\s/g, "&nbsp; ");
alert(textarea);
document.getElementById("divforo").innerHTML = document.getElementById("divforo").innerHTML += textarea + "<hr>";
document.getElementById("Comentario").value="";

}

</script>
</head>
<body>
<div id="divforo" name="divforo"></div>

<div id="divcomentario" >
<textarea id="Comentario" rows="4" cols="60" ></textarea>
<input type="button" value="Comentar" onclick = "recargarDiv(document.getElementById('Comentario').value); return false" /></div>

</body> 
</html>
Expresiones regulares

(Hay muchos otros tutoriales en el Foro, pero yo me acordé de éste, que dejamos medio abandonado.)

Etiquetas: linea, salto, textarea
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 09:34.