Foros del Web » Programando para Internet » Javascript »

Textarea + "<br>" + Base de datos

Estas en el tema de Textarea + "<br>" + Base de datos en el foro de Javascript en Foros del Web. Hola qtal. Tengo un formulario con varios campos. Uno de ellos es un Textarea, donde el usuario puede introducir el texto que quiera. Cuando el ...
  #1 (permalink)  
Antiguo 01/04/2004, 10:02
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 2 meses
Puntos: 0
Textarea + "<br>" + Base de datos

Hola qtal.

Tengo un formulario con varios campos. Uno de ellos es un Textarea, donde el usuario puede introducir el texto que quiera.
Cuando el usuario hace un submit del formulario, la información pasa a una base de datos y se visualiza en una tabla HTML.

El problema que tengo es que si en el Textarea el usuario introduce un punto y aparte, en la base de datos aparece como un punto y seguido. Para conseguir el "efecto" de punto y aparte tengo que introducir expresamente en el Textarea "<br>".

Hay alguna forma de hacer ese punto y aparte usando únicamente la tecla "Enter", de manera que el usuario no tenga que añadir "<br>" cada vez que quiere un punto y aparte?

Gracias y saludos
  #2 (permalink)  
Antiguo 01/04/2004, 12:07
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, Albertron.

Supongo que estarás utilizando un lenguaje del lado del servidor para manejar la base de datos. Informate si ese lenguaje tiene alguna función que haga lo que necesitas. Pero como están en este foro voy a suponer también que quieres hacerlo con JavaScript (vaya rollo que te he largado)

Suponiendo que tu textarea tenga un id="txt" podrías usar una función como esta:
Código PHP:
function salto() {
    
texto=document.getElementById('txt').value;
    
texto=texto.replace(/n/g,'<br>');

Espero que te sirva de ayuda. Saludos,
  #3 (permalink)  
Antiguo 01/04/2004, 12:08
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Hola.

Prueba esto:

document.getElementById("Nombre_del_textarea").val ue=replace(document.getElementById("Nombre_del_tex tarea").value,chr(13),"<br>")
  #4 (permalink)  
Antiguo 01/04/2004, 12:32
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Cuanto tiempo sin chocar, Carlitos.

Un saludo.
  #5 (permalink)  
Antiguo 01/04/2004, 12:41
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Hola.

No me había dado cuenta de la coincidencia.
  #6 (permalink)  
Antiguo 01/04/2004, 12:54
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Me parece que me he colao. No ha probado mi solución pero creo que está mal. La de JavierB es correcta.
  #7 (permalink)  
Antiguo 01/04/2004, 13:16
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Si lo haces como dice JavierB, te cambiará todas las 'n' por '<br>'

Mira, esto es lo que tienes que cambiar.
Código:
texto=texto.replace(/\n/g,'<br>');

JavierB, no sé porqué pero el foro se ha comido la barra '\'

Última edición por Carlitos; 01/04/2004 a las 13:21
  #8 (permalink)  
Antiguo 02/04/2004, 00:45
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo, Carlitos.

Gracias por la corrección. Nunca me acuerdo que los [ php] se tragan las barras.

Saludos,
  #9 (permalink)  
Antiguo 15/04/2004, 05:12
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 2 meses
Puntos: 0
y el paso inverso?

Hola y gracias por la ayuda.

Ahora, una vez lo tengo en base de datos, lo quiero recuperar al formulario para poder editar el texto, per me gustaría que no apareciesen los "<br>", sino que sólo se viese un salto de línea.

he probado con lo siguiente (siendo tarea1 el id de la textarea):

texto = document.getElementById('tarea1').value;
texto = texto.replace("<br>","\n");
document.getElementById('tarea1').value = texto

pero no me lo hace bien.

Por ejemplo, si mi texto es Hola<br>Buenos<br>Días

Con lo que yo pongo me aparece lo siguiente en el textarea:

Hola

Buenos
<br>Días

Cuando lo que necesito es:
Hola
Buenos
Días

Gracias de antemano por vuestra ayuda
  #10 (permalink)  
Antiguo 15/04/2004, 10:09
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, Albertron.

Prueba con esto:

texto=texto.replace(/<br>/g,"\n");

Saludos,
  #11 (permalink)  
Antiguo 15/04/2004, 11:34
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 2 meses
Puntos: 0
casi

Hola JavierB.
Gracias por la ayuda. Tal y como me sugieres se acerca mucho a lo que necesito.
Ahora me lo muestra en la textarea de la siguiente manera:

Hola

Buenos

Días

Es decir, me deja una línea en blanco entre cada palabra. Lo que a mi me gustaría es tenerlo de esta manera:

Hola
Buenos
Días

Si se te ocurre algo, me harás un gran favor.

Saludos y gracias
  #12 (permalink)  
Antiguo 15/04/2004, 17:27
 
Fecha de Ingreso: marzo-2004
Mensajes: 2
Antigüedad: 20 años, 1 mes
Puntos: 0
replace(Request.form("nombredetuvariable"),chr(10) ,"<br>") y si luego la quieres poner en el formulario para que no te ponga los <br> de nuevo pone
replace(Request.form("n_oficinas"),"<br>",chr(10))

Esto es solo para asp... salu2 y espero haber resuelto tu problema
  #13 (permalink)  
Antiguo 15/04/2004, 21:56
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
texto=texto.replace(/<br>/g,"");
__________________
No tengo firma ahora... :(
  #14 (permalink)  
Antiguo 16/04/2004, 02:23
 
Fecha de Ingreso: marzo-2002
Mensajes: 188
Antigüedad: 22 años, 2 meses
Puntos: 0
gracias

Gracias a todos,
Con la última aportación de Mickel he conseguido lo que necesitaba.
Mil gracias y 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.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:05.