Foros del Web » Programando para Internet » Javascript »

concatenar variables con salto de carro

Estas en el tema de concatenar variables con salto de carro en el foro de Javascript en Foros del Web. Me gustaria saber si existe alguna posibilidad de concatenar dos cadenas con un salto de carro en medio en javascript para que no salga todo ...
  #1 (permalink)  
Antiguo 24/04/2003, 03:27
moncherote
Invitado
 
Mensajes: n/a
Puntos:
concatenar variables con salto de carro

Me gustaria saber si existe alguna posibilidad de concatenar dos cadenas con un salto de carro en medio en javascript para que no salga todo en una linea.
  #2 (permalink)  
Antiguo 24/04/2003, 03:31
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Pues depende ¿dónde vas a mostrar la concatenación? escrito? en una alerta?
  #3 (permalink)  
Antiguo 24/04/2003, 04:28
moncherote
Invitado
 
Mensajes: n/a
Puntos:
a ver ...

El caso es el siguiente : yo quiero guardar una variable con el contenido de las otras dos mas un salto de carro entre ambas, ya que lo que yo quiero hacer es lo siguiente :

Tengo un formulario , el cual una vez rellenado y con un click abro el outlook con la información del formulario que le paso yo y quiero que no me salga todo junto, sino en lineas distintas.
Se puede!!!!
  #4 (permalink)  
Antiguo 24/04/2003, 04:35
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Has probado a ponerle a tu form un enctype??


<form action="mailto:[email protected]" method="post" enctype="text/plain" name="form1">
  #5 (permalink)  
Antiguo 24/04/2003, 04:45
moncherote
Invitado
 
Mensajes: n/a
Puntos:
Pregunta ehhhhhh???

Oye que soy novato, de que me hablas???? yo no lo envio así lo hago con este codigo basico :


Cita:

<html>
<body>
<script language="javascript">
function mailpage()
{
mail_str = "mailto:[email protected]?subject=Ejemplo: " + document.title;
mail_str += "&body=Te recomiendo que visites esta página (forosdelweb.com) -- " + document.title;
mail_str += ". Enlace: " + location.href;
location.href = mail_str;
}
</script>
<a HREF="javascript:mailpage()">E-mail This Page</a>
</body>
</html>
si es mejor como tu dices, me enseñas un ejemplo???
  #6 (permalink)  
Antiguo 24/04/2003, 05:14
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Entonces no estás enviando un formulario, estás enviando un e-mail.

Dudo que puedas lograrlo desde el lado cliente.

Las páginas que suelen tener sistemas de recomendaciones en donde el cuerpo del correo tiene un formato más trabajado utilizan un lenguaje del lado servidor que sí permite controlar más el aspecto.

Pero desde javascript dudo que puedas controlar más de lo que tienes ahora mismo.

Quizas alguien sepa algún truco, yo desde luego no le encuentro el cómo.

saludos
  #7 (permalink)  
Antiguo 24/04/2003, 05:33
moncherote
Invitado
 
Mensajes: n/a
Puntos:
vale

Efectivamente, yo lo que quiero es pasar los datos de un formulario a un email para que sea enviado con el outlook o lo que sea!!!!
Entonces dices que es imposible pasarle un enter , osea, algo asi

mail_str = linea1 + chr(13) + linea2

siendo chr(13) lo que equivalga en js a un enter??????????

Si es imposible , como puedo enviar mi formulario por mail sin tener que usar asp ni php????

Una ayudita por favor!!!!!!!
  #8 (permalink)  
Antiguo 24/04/2003, 05:41
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Insisto; lo que pretendes mandar no es un formulario. Es un email normal y corriente creado mediante javascript.

ya probé con el String.fromCahrCode(13) pero eso no le sirve al email y lo ignora.

Intentando agregar un <br> el email lo muestra tal cual. Al ser enviadas las variables al correo, outlook cambia los < y > por & lt; y & gt; así que no lo reconoce como código.

Aunque se lograra reconocerlo como <br> eso funcionaría sólo en los clientes de correo que soportaran y tuvieran activada la opción de enviar correo en formato html. Los que tuvieran su correo en texto plano verían el <br> y no lo interpretarían.

Hay por la red servicios de recomendación gratuítos (se encarga el servidor de enviar los correos) ¿por qué no les echas un ojo?

En las FAQ de HTML, en la página 3 (creo) hay un listado de servicios gratuítos y uno de ellos es un sistema de recomenación.
  #9 (permalink)  
Antiguo 24/04/2003, 12:06
moncherote
Invitado
 
Mensajes: n/a
Puntos:
que si, que si....

Que vale, ya se que quiero mandar un mail y no un formulario .... y que pena que no pueda!!!

Lo de los servidores no me convence mucho ya que no se sabe cuando se iran al garete y no puedes depender de ellos, por lo que o bien me quedare con un simple mailto de link o me pasaré al asp. :-p

De todas formas muchas gracias por la ayuda
  #10 (permalink)  
Antiguo 24/04/2003, 13:25
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 11 meses
Puntos: 7
Moncherote:
Puedes insertar los saltos de carro, pero no del modo en que pretendes.
El protocolo mailto además de la dirección, lleva headers, que es lo que envías con "subject" y "body". La cuestión es que deben ir codificados con los conocidos como "caracteres seguros para Internet" o "Internet-safe characters". Esto no es nada del otro mundo, ya que los url's están formados por dichos caracteres.
Así, pues para colocar el caracter de espacio en tu cadena, deberías poner %20, pero funciona aún sin este formato. El problema es el caracter del enter. Este está compuesto por un retorno de carro (hexadecimal 0d) y un avance de línea (0a).
Entonces, donde necesites un salto en el cuerpo del correo, inserta %0d%0a. Modificando tu código para que tenga un salto antes del enlace, quedaría así:
Cita:
<html>
<body>
<script language="javascript">
function mailpage()
{
mail_str = "mailto:[email protected]?subject=Ejemplo: " + document.title;
mail_str += "&body=Te recomiendo que visites esta página (forosdelweb.com) -- " + document.title;
mail_str += ".%0d%0aEnlace: " + location.href;
location.href = mail_str;
}
</script>
<a HREF="javascript:mailpage()">E-mail This Page</a>
</body>
</html>
Debe funcionar independientemente de si tu cliente de correo envía formato html o texto sin formato.
Espero que la explicación te ayude, pero también creo que deberías hacer caso a las recomendaciones de Tunait.
Saludos.
  #11 (permalink)  
Antiguo 25/04/2003, 02:42
moncherote
Invitado
 
Mensajes: n/a
Puntos:
pues si, si que va!!!1

Os doi un millon de gracias ya que si que me funciona, y entiendo lo que tunait trata de explicarme , pero tengo que hacerlo asi ya que el jefe es lo que quiere que le haga, asi que dios nos de paciencia...

tenkiu ebrivari
  #12 (permalink)  
Antiguo 25/04/2003, 04:01
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
Buenas,

Beakdan, qué buena explicación, gracias


Sólo anotar que a mi no me funciona tengo el Outlook 5.0

¿Cual teneis vosotros??

Estaría bien investigar este tema un poco y ver en dónde es reconocido y quizás pudiera agregarse a las faq??
La explicación me ha gustado mucho, pero estaría bien poder indicar además con qué versiones funciona
  #13 (permalink)  
Antiguo 28/04/2003, 10:42
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 11 meses
Puntos: 7
Tunait:
Perdona por no haber respondido con celeridad. Estuve lejos de una PC durante varios días.
Funcionó en Outlook 6 y el cliente de Opera 7, no he probado con nada más.
Pero creo que no ha funcionado debido a que lo único que codificamos con caracteres seguros ha sido el salto de línea, y deberíamos codificar los caracteres con acento, los espacios, paréntesis, y signos de puntuación.

Bueno, espero que alguien sepa más al respecto, o que pueda probarlo con otro cliente de correo.

Saludos y de nuevo mil disculpas Tunait.
  #14 (permalink)  
Antiguo 29/04/2003, 11:05
moncherote
Invitado
 
Mensajes: n/a
Puntos:
va bien

Si funciona, al menos en mi outlook 6 , pero tiene un pequeño problema, que si hago la cadena que le paso al outlook(mail_str) demasiado grande, no me deja y me dice que mi cliente de correo no esta bien instalado , pero bueno, habrá que acotar , por lo demas va bien, en Outlook 6 claro, ya que mas no probé
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 18:30.