Comunidad PHPeros

Lenguajes => JavaScript => AJAX => Mensaje iniciado por: judoka en 12 de Agosto de 2011, 00:59:02 am

Título: [Ayuda] Enviar una variable con nl2br.
Publicado por: judoka en 12 de Agosto de 2011, 00:59:02 am
actualmente para enviar mi formulario a través de ajax lo hago así:
Citar
<form action="javascript:ajaxpage('foro/nuevo.php?enviar=true&id=<?=$ID;?>&titulo='+document.getElementById('titulo').value+'&mensaje='+document.getElementById('mensaje').value,'modulo');" method="post">
El problema es que una vez enviado, cuando le aplico la función nl2br para hacerse notar los saltos de línea ya no los reconoce y queda todo en una línea. O sea, esto no va: nl2br($_GET['mensaje'])

¿Cómo hago para que funcione la función?

Gracias (:
Título: Re:[Ayuda] Enviar una variable con nl2br.
Publicado por: westwest en 12 de Agosto de 2011, 02:48:23 am
Prueba usando encodeURIComponent, así:
<form action="javascript:ajaxpage('foro/nuevo.php?enviar=true&id=<?=$ID;?>&titulo='+document.getElementById('titulo').value+'&mensaje='+encodeURIComponent(document.getElementById('mensaje').value),'modulo');" method="post">

Aunque no creo que funcione... usa POST, hombre.
Título: Re:[Ayuda] Enviar una variable con nl2br.
Publicado por: Incompatible en 12 de Agosto de 2011, 13:32:51 pm

actualmente para enviar mi formulario a través de ajax lo hago así:El problema es que una vez enviado, cuando le aplico la función nl2br para hacerse notar los saltos de línea ya no los reconoce y queda todo en una línea. O sea, esto no va: nl2br($_GET['mensaje'])

¿Cómo hago para que funcione la función?

Gracias (:

¿Porqué no creas un script en ajax externo a la página, lo incluyes en el html/php y luego creas un boton con la siguiente instrucción: <input type="submit" onclick="FuncionyParametros('Uno','Dos')">?   

PD: No creo que esté bien (No piloto mucho acerca del tema pero son bastantes tutoriales que he visto en internet jaja)

Un saludo,
Incomodidad
Título: Re:[Ayuda] Enviar una variable con nl2br.
Publicado por: judoka en 12 de Agosto de 2011, 19:50:44 pm
Prueba usando encodeURIComponent, así:
<form action="javascript:ajaxpage('foro/nuevo.php?enviar=true&id=<?=$ID;?>&titulo='+document.getElementById('titulo').value+'&mensaje='+encodeURIComponent(document.getElementById('mensaje').value),'modulo');" method="post">

Aunque no creo que funcione... usa POST, hombre.
Gracias West, esa funcion elimina también todos los tags especiales de html, verdad?
Me funciona bastante bien.
Oye, aprovechando eso que decías de post.. es que utilizo la función esa que os mostré con AJAX para la modulación. Crees conveniente que cree una para enviar formularios por vía POST?
Título: Re:[Ayuda] Enviar una variable con nl2br.
Publicado por: westwest en 13 de Agosto de 2011, 05:42:52 am
Gracias West, esa funcion elimina también todos los tags especiales de html, verdad?
Me funciona bastante bien.
Oye, aprovechando eso que decías de post.. es que utilizo la función esa que os mostré con AJAX para la modulación. Crees conveniente que cree una para enviar formularios por vía POST?
No elimina el HTML, sencillamente lo convierte para evitar problemas, pero en php utiliza siempre htmlspecialchars.

Sí, deberias crear una función para ello, te ahorrarias mucho código.