A ver, tengo un formulario que sirve para rellenar los datos de un correo que a continuación envío a otra página de un sitio externo. No tengo acceso a esa página y no la puedo modificar. Llamémosle "el otro lado".
La página admite las variables $subject y $message por GET como asunto y texto respectivamente, y las envía a sendos input y textarea que contiene, entonces, en vez de usar un submit yo se lo estoy mandando a través de un onclick y funciona bien.
Más quisiera yo que usar un submit para hacerlo, pero no me lo admite, solo funciona abriendo una ventana nueva con el window.open y enviandole las variables por GET (además ¿cómo le mando los contenidos del input y el textarea en el action?)
Resumiendo, así es como lo hago:
Código PHP:
<form name="correo" action="">
<input type="text" name="asunto" value="Asunto:">
<textarea name="texto">Texto:</textarea>
<a href="#" onclick="window.open('http://sitio.com/gestion.php?userid=<?=$id?>&subject='+document.correo.asunto.value+'&message='+document.correo.texto.value)"</a>
</form>
Se me había ocurrido aplicarle la función urlencode() de PHP al texto antes de mandarlo pero no se cómo aplicarle esa función a document.correo.asunto.value dentro del onclick sin que me de error. Además no estoy seguro de que eso funcione.
También se me había ocurrido introducir al texto sendos %0A en cada salto de línea (haciendo eso sí que funciona en el otro lado) pero no se me ocurré cómo.
¿Teneis una idea de cómo podría enviar los saltos de línea y que funcione en el otro lado?
Gracias adelantadas.