Foros del Web » Programando para Internet » Javascript »

poner la etiqueta <BR> al darle ENTER en un textarea en un formulario

Estas en el tema de poner la etiqueta <BR> al darle ENTER en un textarea en un formulario en el foro de Javascript en Foros del Web. Tengo un formulario, y en textarea los usuarios escriben textos, eso lo guardo en la BD y luego lo llamo y lo imprimo en una ...
  #1 (permalink)  
Antiguo 18/11/2004, 15:04
Avatar de Jeremias  
Fecha de Ingreso: agosto-2003
Ubicación: Caracas
Mensajes: 504
Antigüedad: 20 años, 8 meses
Puntos: 0
poner la etiqueta <BR> al darle ENTER en un textarea en un formulario

Tengo un formulario, y en textarea los usuarios escriben textos, eso lo guardo en la BD y luego lo llamo y lo imprimo en una pagina (documento HTML). Entonces aunque le la gente separe lo que escriba en ese textarea con enter en la base de datos no lo guarda asi, y tendria el usuario que meter la etiqueta <BR> pero como ellos na saben de eso me gustaria que cuando le den enter en el text area donde esta el punto de insercion se escriba la etiqueta <BR>, pero si lo imprimo en negro la gente lo vera y dira que es un error y lo borrara, es por esto que me gustaria que ese texto se imprimiera en Blanco, el color del fondo del textarea.

No se si me explique y si es posible lo que dese hacer.
Muchas Gracias de antemano.

BYE
__________________
Atte. Jere
Agradezco su pronta colaboración.
;-) :arriba:Hoy por mi, mañana por ti:arriba: ;-)
  #2 (permalink)  
Antiguo 19/11/2004, 02:40
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Normalmente los saltos de línea se guardarán también en la base de datos (¿es lo que utilizas para guardar los mensajes?) así que lo que has de hacer no es escribir <br> en el textarea directamente, si no transformar la cadena de texto que recuperas de la base de datos, cambiando los saltos por "<br>".

Dime cómo recuperas estos mensajes e intentaré decirte el método para ello.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 19/11/2004, 02:48
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Se podría hacer por javascript con un
replace(/\n/g,'<br>')

pero debes estar usando un lenguaje de servidor (php?, asp?, jsp?) y es mucho mejor hacer la conversión con estos lenguajes que por javascript. Si me dices el lenguaj que usais te miro como hacer el reemplazo.
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #4 (permalink)  
Antiguo 19/11/2004, 03:21
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Claro living, por eso tenemos que esperar la respuesta, la sustitución no es difícil, pero depende del lenguaje.

Un saludo a los dos.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #5 (permalink)  
Antiguo 19/11/2004, 03:26
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Habrá que esperar.....te invito a un café mientras
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #6 (permalink)  
Antiguo 19/11/2004, 03:52
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Quita, quita, gracias por el ofrecimiento, pero como me tome uno más me empiezo a subir por las paredes.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #7 (permalink)  
Antiguo 19/11/2004, 04:02
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Ya que andamos con el tema, una cuestión:

Mientras escribo el texto en el textarea se va mostrando en una etiqueta al mismo tiempo, de modo que vas viendo los resultados de la edición, negritas, cursivas, ... y, como no, saltos de línea. Pues bien, para esto último sólo hay que hacer:

Código:
texto = texto.replace ("\r","<br>")
El caso es que el primer salto lo hace bien, pero los siguientes ya no me los sutituye. ¿poqué?
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #8 (permalink)  
Antiguo 19/11/2004, 05:07
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
En javascript tienes que ponerlo así

texto.replace (/\r/g,"<br>")

el "g" es para que lo haga global
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #9 (permalink)  
Antiguo 19/11/2004, 05:11
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Gracias.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #10 (permalink)  
Antiguo 19/11/2004, 05:26
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Ehhh... je je, y ya por abusar un poquito más...

Me he dado cuenta de que otras etiquetas también me las sustituye sólo una vez, por ejemplo:

Código:
texto = texto.replace ("[ b ]","<b>");
texto = texto.replace ("[ /b ]","</b>");
Lo pongo con espacios porque si no, FDW, lo interpreta.

¿Cómo funciona exactamente eso de hacerlo global?
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #11 (permalink)  
Antiguo 19/11/2004, 05:47
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Es lo mismo sólo que tienes que escapar los corchetes para que no los interprete como caracteres especiales de la expresión regular. Tienes que hacerlo así:

texto.replace(/\[b\]/g,"<b>");
texto.replace(/\[/b\]/g,"</b>");
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #12 (permalink)  
Antiguo 19/11/2004, 06:05
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Vaya lío con las expresiones regulares, qué follón. Bueno, muchas gracias, pero se te ha escapado algo (¿ves como es un lio?): hay que escapar también la barra invertida / de la etiqueta HTML de cierre:

texto.replace(/\[\/b\]/g,"<b>");

Un saludo y gracias de nuevo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #13 (permalink)  
Antiguo 19/11/2004, 06:11
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Tienes toda la razón, se me ha pasado :)
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #14 (permalink)  
Antiguo 20/11/2004, 08:00
Avatar de Jeremias  
Fecha de Ingreso: agosto-2003
Ubicación: Caracas
Mensajes: 504
Antigüedad: 20 años, 8 meses
Puntos: 0
Buenas disculpen la demora, lei lo que escribieron y entendi mas o menos, pero bueno como estaban esperando mi respuesta para que me dijeran la forma completa de hacer este trabajo pues les digo que el lenguaje que uso es PHP, y lo guardo en una BD de MySQL, de verdad si me podrian poner el codigo de como debo ponerlo para que haga lo que necesito.
GRACIAS .
__________________
Atte. Jere
Agradezco su pronta colaboración.
;-) :arriba:Hoy por mi, mañana por ti:arriba: ;-)
  #15 (permalink)  
Antiguo 20/11/2004, 08:34
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
En la base de datos si que se guarda el salto de línea pero para que a la hora de visualizar el texto aparezca el salto de línea en la página lo que tienes que hacer es que cada vez que quieras imprimir el valor uses la función

nl2br($texto)

siendo $texto el campo extraido de tu base de datos

http://es.php.net/manual/es/function.nl2br.php
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #16 (permalink)  
Antiguo 20/11/2004, 08:36
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
Jere... lo de los saltos de linea lo haces directamente con php al momento de imprimir el mensaje en pantalla.

Los mensajes de los usuarios SÍ quedan almacenados con sus rexpectivos saltos de linea, sólo que si miras el registro en la base de datos éstos no se notan.

Para interpretar esos saltos de linea al imprimir el mensaje, debes utilizar la funcion nl2br()


echo nl2br($textodesdelabasededatos);
__________________
El conocimiento es libre: Movimiento por la Devolución
  #17 (permalink)  
Antiguo 20/11/2004, 08:47
Avatar de Jeremias  
Fecha de Ingreso: agosto-2003
Ubicación: Caracas
Mensajes: 504
Antigüedad: 20 años, 8 meses
Puntos: 0
Muchas Gracias A Los Dos Lo Voy A Probar Y Luego Paso Por Aqui Informandoles Como Me Fue.
Gracias De Nuevo
__________________
Atte. Jere
Agradezco su pronta colaboración.
;-) :arriba:Hoy por mi, mañana por ti:arriba: ;-)
  #18 (permalink)  
Antiguo 20/11/2004, 12:41
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
New line to br. Curioso, eso es de PHP ¿no?.... ¿por qué no harán cosas por el estilo para ASP?
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #19 (permalink)  
Antiguo 20/11/2004, 13:28
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
no me manejo mucho en ASP, pero creo que puedes hacer lo mismo con la funcion replace:


Responde.Write Replace(texto,vbCrLf,"<BR>")

Algo asi creo que es, donde "texto" es la variable que tiene almacenado el mensaje recogido desde la base de datos. Entonces los saltos de linea que quedaron guardados en la BD los reemplaza por el tag <br>
__________________
El conocimiento es libre: Movimiento por la Devolución
  #20 (permalink)  
Antiguo 21/11/2004, 02:25
Avatar de CRISMA  
Fecha de Ingreso: julio-2004
Ubicación: Caracas
Mensajes: 69
Antigüedad: 19 años, 9 meses
Puntos: 0
como se haria esto si estoy usando JSP y MySQL

Un saludo a todos,
__________________
Que mas queda... tener Paciencia :-D
  #21 (permalink)  
Antiguo 23/11/2004, 06:02
Avatar de Jeremias  
Fecha de Ingreso: agosto-2003
Ubicación: Caracas
Mensajes: 504
Antigüedad: 20 años, 8 meses
Puntos: 0
Buenas muchachos, le scuento que si me resulto, MUCHAS GRACIAS.

Pero ahora se me presento otra situacion, hay otro formulario donde quiero hacer lo mismo, pero en ese nuevo lugar, estoy llamando el texto de la BD asi:
Código PHP:
echo str_replace($smiles,$imagenes,$row["mensaje"]); 
Ya que ahi estoy poniendo emoticons, mi nueva pregunta es ¿como hago para poner dentro de esa la funcion que ustedes me dieron? ¿se puede?

¿podria quedar asi? no lo he intentado, pero ant4es de probar queria consultar
Código PHP:
$mensa $row['mensaje'];
echo 
nl2br(str_replace($smiles,$imagenes,$mensa)); 
¿Eso estaria bien? funcionara? ¿dara error?

GRACIAS DE NUEVO
__________________
Atte. Jere
Agradezco su pronta colaboración.
;-) :arriba:Hoy por mi, mañana por ti:arriba: ;-)
  #22 (permalink)  
Antiguo 23/11/2004, 16:04
Avatar de CRISMA  
Fecha de Ingreso: julio-2004
Ubicación: Caracas
Mensajes: 69
Antigüedad: 19 años, 9 meses
Puntos: 0
como puedo hacer esto en JSP?.... gracias
__________________
Que mas queda... tener Paciencia :-D
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 16:01.