Foros del Web » Programando para Internet » PHP »

problemas al introducir un salto de linea en un textarea

Estas en el tema de problemas al introducir un salto de linea en un textarea en el foro de PHP en Foros del Web. Hola a todos, tengo un problemilla y no encuentro la solución, a ver si alguien me pude ayudar. Tengo una pequeña página que tiene un ...
  #1 (permalink)  
Antiguo 22/10/2004, 11:56
 
Fecha de Ingreso: octubre-2004
Mensajes: 21
Antigüedad: 13 años, 1 mes
Puntos: 0
problemas al introducir un salto de linea en un textarea

Hola a todos, tengo un problemilla y no encuentro la solución, a ver si alguien me pude ayudar.
Tengo una pequeña página que tiene un textarea. En este textarea escribo codigo HTML y lo guardo en una variable temporal. Tengo otra pagian en que lo que hace es recuperar de esta variable temporal este codigo HTML y construir una pagian con un textarea y pone este codigo para ser modificado. Viene a ser como una vista previa de la página con la posibilidad de editar el texto. Hasta aqui todo correcto. El problema viene si dentro del textarea le doy al enter y pongo un salto de linea. Cuando es recupero el texto de la variable en la segunda pagina no muestra nada en la caja de texto.
Alguien sabe que puede estar pasando?
Muchas gracias,
J.
  #2 (permalink)  
Antiguo 22/10/2004, 11:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa la función:

nl2br()
www.php.net/nl2br

a la hora de presentar ese dato que llega de tu "texarea". Eso convierte los \n y salto de línea en su salto de línea HTML <br>

Un saludo,
  #3 (permalink)  
Antiguo 22/10/2004, 12:09
 
Fecha de Ingreso: octubre-2004
Mensajes: 21
Antigüedad: 13 años, 1 mes
Puntos: 0
Si esto también me irá bien, pero lo que me pasa no es que no vea los saltos de linea, sino que no veo nada.
Si yo introduzco texto seguido en el textarea, al recuperar la página para editar ese texto otra vez, no hay problema, me lo muesta perfectamente.
El problema esta cuando yo hago un salto de linea en esa textarea, al recurepar esa información de nuevo no me muestra nada de nada.
J.
  #4 (permalink)  
Antiguo 22/10/2004, 12:45
 
Fecha de Ingreso: octubre-2004
Mensajes: 21
Antigüedad: 13 años, 1 mes
Puntos: 0
He encontrado una solución, no se si es la mejor pero aquí la dejo:

Antes hacía:

echo("<SCRIPT>");
echo("document.form_editar_secciones.txt.value = \"".$texto."\";");
echo("</SCRIPT>");

y cuando no había saltos de linea funcionaba...

Lo he sustituido por:
<textarea name="txt" cols="70" rows="40"><? if ($flag) { echo($texto); } ?></textarea>

$flag me dice si estoy recuperando un texto ya editado.

Asi si que funciona.
J.
  #5 (permalink)  
Antiguo 22/10/2004, 16:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. los saltos de línea no se "ven" son códigos de control \n ....

La idea es que en tu BD o donde lo alamecenes o veas . .guardes el dato sin aplicar nl2br() .. sólo aplicarlo cuando tengas que presentarlo en HTML (no en un textarea o un input por ejemplo)

Un saludo,
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 10:25.