Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] funcion escape()

Estas en el tema de funcion escape() en el foro de Javascript en Foros del Web. Estoy generando el envío de mail con javascript. Tengo la variable body que recoge: Texto variables saltos de linea Si uso escape(body) en el cuerpo ...
  #1 (permalink)  
Antiguo 03/03/2017, 16:58
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 5 meses
Puntos: 1
funcion escape()

Estoy generando el envío de mail con javascript.
Tengo la variable body que recoge:
Texto
variables
saltos de linea

Si uso escape(body) en el cuerpo del mail aparecen los saltos de linea pero obvia las tildes y ñ.
Si no uso escape(body) en el cuerpo de mail aparecen los caracteres con sus correspondientes tildes, pero no aparecen los saltos de linea.
Código HTML:
Ver original
  1. <!DOCTYPE HTML>
  2. <!--Copiado desde "https://www.youtube.com/watch?v=E9MGxPmWDU4" -->
  3. <html lang="es">
  4.     <head>
  5.         <title></title>
  6.         <!--Elegimos el juego de carácteres que incluye ñ y tildes-->
  7.         <meta charset="utf-8">
  8.         <script http-equiv="Content-Type" content="text/html; charset=UTF-8">
  9.         function enviar_mail()
  10.         {
  11.             var usuarios_general =  "<?php echo "$usuarios_general"?>";
  12.             var fecha_inicio ="<?php echo "$Fecha_Inicio"?>";
  13.             var fecha_fin   ="<?php echo  "$fecha_fin"?>";
  14.             var sistema=(navigator.appVersion.indexOf("Win")!= -1)? 'windows':'otro';
  15.             var retornocarro=(sistema=='windows')? '\r\n':'\n';
  16.             var mimail="<?php echo "$Email"?>";
  17.             var subject = "<?php echo "$Apellidos" ?>";
  18.             var nombre_cliente = "<?php echo "$Nombre" ?>";
  19.             var presupuesto = "<?php echo "$Presupuesto" ?>";
  20.             var solicitudes = "<?php echo "$var" ?>";
  21.             var importe_total = "<?php echo "$importe_total" ?>";
  22.             var bcc = "[email protected]";
  23.             if(confirm("¿Correo para chicas?"))
  24.                 {
  25.                  subject = subject ;
  26.                  var pagina_cargada = 1;   
  27.                 }
  28.                 else
  29.                 {
  30.                  subject = subject ;
  31.                  var pagina_cargada = 1;
  32.                 }
  33.             var body = "Hola "+nombre_cliente+":"+retornocarro+"Te informamos que para todos tus emails debes indicar tu localizador: "+presupuesto+ ". "+retornocarro+"Los productos que te ofrecemos son: "+solicitudes+retornocarro+" Importe total de los servicios: "+importe_total+"."+retornocarro+retornocarro+retornocarro+"Quedo a la espera y a tu disposición para resolver cualquier tipo de duda."+retornocarro+retornocarro+"Espero que sea de vuestro agrado."+retornocarro+retornocarro+"Sin más, recibe un saludo."+retornocarro+retornocarro+"¡Qué tengas un buen día!"+retornocarro+retornocarro+"XXXXXXX.";
  34.             body=escape(body);
  35.              document.location.href = "mailto:"+ mimail+"?bcc="+ bcc +"&subject= ★ Presupuesto: "+presupuesto+" "+subject+" x"+usuarios_general+" ("+fecha_inicio+"-"+fecha_fin+") ★&body="+body;
  36.                 }
  37.  
  38.             window.onload = enviar_mail();     
  39.         </script>
  40.  
  41.     </head>
  42. </html>

El resultado con la función escape(body): Hay saltos de linea pero no hay tildes

Hola CLIENTE:
Te informamos que para todos tus emails debes indicar tu localizador: ZZZZZZZ.
Los productos que te ofrecemos son:
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ .
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ .

Importe total de los servicios: XXX,XX.

Quedo a la espera y a tu disposicin para resolver cualquier tipo de duda.
Espero que sea de vuestro agrado.
Sin ms, recibe un saludo.
Qu tengas un buen da!
XXXXXXX.

El resultado sin la función escape(body): las tildes son visibles, pero no hay saltos de linea.

Hola CLIENTE:Te informamos que para todos tus emails debes indicar tu localizador: ZZZZZZZ. Los productos que te ofrecemos son: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ .ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ Z. Importe total de los servicios: XXX,XX.Quedo a la espera y a tu disposición para resolver cualquier tipo de duda.Espero que sea de vuestro agrado.Sin más, recibe un saludo.¡Qué tengas un buen día!XXXXXXX.
  #2 (permalink)  
Antiguo 04/03/2017, 04:32
 
Fecha de Ingreso: noviembre-2005
Mensajes: 146
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: funcion escape()

Encontré la solución.
Sustituí la variable retornocarro por %0A
y elimine escape(body);
Espero que sirva para alguien más.
Un saludo.

Etiquetas: forma, funcion, html, text, variable
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:23.