Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Enviar mail en background

Estas en el tema de Enviar mail en background en el foro de Frameworks JS en Foros del Web. Buenas tardes. miren, tengo un form de contacto que envio con ajax a un mail.php que me lo transmite. El problema son los saltos de ...
  #1 (permalink)  
Antiguo 11/03/2010, 09:45
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 9 meses
Puntos: 0
Enviar mail en background

Buenas tardes.

miren, tengo un form de contacto que envio con ajax a un mail.php que me lo transmite. El problema son los saltos de linea del textarea que me costan la cadena y no sé como arreglar-lo. Seguramente es un fallo bobo pero es mi primer código ajax y no estoy encontrando solución.

mi código:
Código HTML:
 $(document).ready(function(){
	$("#sendmail").click(function(){

		var nom = $("#nom").val();
		var mail = $("#mail").val();
		var text = $("#text").val();

			var datastr = '&nom'+nom+'&mail='+mail+'&text='+text;
			$("#response").html("Enviant missatge...");
			$("#response").css("background:#CCC");
			$("#response").fadeIn("slow");
			setTimeout("send('"+datastr+"')",2000);
		
		return false;
	});
});
function send(datastr){
	$.ajax({	
		type: "POST",
		url: "mail.php",
		data: datastr,
		cache: false,
		success: function(html){
		$("#response").fadeIn("slow");
		$("#response").html(html);
	}
	});
}
En mail.php recojo estas variables y las envio. El problema está si el datastr llega cortado por un salto de linea.

Alguna idea?
Gracias!

Última edición por splig; 11/03/2010 a las 09:56
  #2 (permalink)  
Antiguo 11/03/2010, 10:11
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 9 meses
Puntos: 0
Respuesta: Enviar mail en background

Perdon por publicar... ya lo solucioné.
Si a alguin le interesa, he añadido la linea:

var text = $("#text").val();
text = text.replace(/\n\r?/g, '%0D%0A');

saludos

Etiquetas: ajax, enviar, mail, fondo
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 05:22.