Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/09/2008, 14:11
Avatar de Nlrvana
Nlrvana
 
Fecha de Ingreso: marzo-2008
Mensajes: 36
Antigüedad: 17 años
Puntos: 0
Respuesta: Cómo poner saltos de linea en un textarea externo

Os lo voy a intentar explicar mejor a ver si podemos hacer algo:

Se trata de rellenar el contenido de un textarea que hay en el cliente en otro textarea que hay en el servidor, pero tiene que ser a través de la URL, que es como el servidor lo admite.

El textarea que hay en el servidor se rellena, pero al enviar las variables por URL se come los saltos de línea.

Este código que decís me vendría muy bien si tuviera acceso al servidor, lo pondría allí y listo.


Código PHP:
<?php
$message 
$_GET['message'];
$message nlb2r($message); // poniendo saltos de linea
$message str_replace('<br>'"\r\n""$message"); // <br> a \n\r
?>
<textarea><?=$message?></textarea>
Pero desgraciadamente no es así.

Vamos a ver:

Desde el cliente yo envío el contenido del formulario al servidor mediante un onclick. Es la manera que se me ha ocurrido para que reciba el contenido en la URL. No conozco otra manera de hacerlo. El servidor recibiría esto (por ejemplo):

http://sitio.com/gestion.php?subject=Asunto&message=HolaEste&20es%2 0el%20mensaje

Y ya ahi rellenaría el textarea fácilmente leyendo las variables por GET:

Código PHP:
<form>
<textarea><?=$_GET['message']?></textarea>
</form>
?>
Si yo pudiera de alguna manera meter &0A en la URL en los sitios donde hubiera saltos de línea y que se enviase con esos saltos de linea...


http://sitio.com/gestion?subject=Asunto&message=Hola&0AEste&20es%20el%20mensaje


..pues ya estaria, pero:


-Meter a mano &0A en el textarea de envio en cada salto de línea, funciona (pero no queda estético, ni es la manera, claro)

-Meter <br> en el formulario a mano y enviar, no funciona. El textarea en el servidor recibe los <br> como si fueran parte del texto.

-Aplicar nlb2r al contenido del textarea en este lado no se si funcionará, no lo he probado, porque no se cómo aplicar un nl2br a un document.correo.texto.value desde dentro de un onclick. Tengo mucha idea de PHP pero escasa de Javascript

Supongo que sería algo así, pero todos mis intentos me han dado error:


<form name="correo">
<input type="text" name="asunto">
<textarea name="texto"></textarea>
</form>
<a href="#" onclick="window.open('http://sitio.com/gestion.php?userid=<?=$id?>&subject='+document.cor reo.asunto.value+'&message=<?=nl2br(?>'+document.correo.texto.value<?=)?>)"</a>


Si hubiera alguna manera de detectar los saltos de línea en el textarea y de modificar la URL en el momento de hacer click en el enlace, por ejemplo dinámicamente, no se, esa sería la solución.

He intentado explicarme de la mejor manera posible. Espero que hayais entendido ahora mi problema.

Gracias por vuestra ayuda.

Última edición por Nlrvana; 04/09/2008 a las 15:03