Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/01/2012, 09:34
gcrlink
 
Fecha de Ingreso: enero-2011
Ubicación: Cali
Mensajes: 73
Antigüedad: 13 años, 9 meses
Puntos: 2
Pregunta Respuesta: Duda con jquery validate y jquery form

Saludos nuevamente...

Ya logré que el envío de correo funcione sin tener que salir de la página principal. Pero no logro dos cosas que van de la mano:

1. Que a través de $.ajax pueda imprimir en pantalla la información que tengo en email.php posterior a validar el formulario y enviar el correo.

Este es el código al cual me refiero:
Código PHP:
if($_POST['mensaje'] != ''){
    echo 
"Tu mensaje ha sido enviado con éxito. Prontamente responderemos al mismo.<br /><br />";
    echo 
"Mensaje enviado por: ";
    echo 
$_POST['nombre'];
    echo 
"<br><br>";
    echo 
"Correo de remitente: ";
    echo 
$_POST['email'];
    echo 
"<br><br>";
    echo 
"Enviado a: ".$_POST['destino'];
    echo 
"<br><br>";
    echo 
"El mensaje dice: <br>";
    echo 
$_POST['mensaje'];

En este caso lo que se imprime es: "Su mensaje no ha podido ser enviado." Este string corresponde a
Código:
error: function(){
$("#formV").fadeIn("slow").after("Su mensaje no ha podido ser enviado.");
}
Pero a pesar que imprime el aviso de error, el correo siempre llega aunque con el remitente desconocido (punto 2).

2. El correo se envía, pero parece ser que el email.php no me está reconociendo los valores del formulario y pues el corro llega pero con remitente desconocido.

Nota: Si en el método submitHandler cambio el $.ajax por la sola línea de código form.submit() todo funciona bien y el correo funciona bien con todos sus elementos, pero me direcciona de la página principal a la de email.php, lo cual no quiero.

Pero bueno ya es algo de avance.

Agradezco que me puedan asesorar con esto :)

Que tengan buen día !!!

Los códigos actualizados como siguen:
javascript:
Código:
	$('#form').validate({
	   rules:{
		   'nombre':{required: true, minlength: 3},
		   'email':{required: true, email: true},
		   'mensaje':{required: true, minlength: 15}
	   },
   	   messages:{
		   'nombre':{required:'<br/>Debe ingresar el nombre<br/>', minlength: '<br/>Requiere mínimo 3 letras<br/>'},
		   'email':{required: '<br/>Debe ingresar un correo electrónico<br/>',email:'<br/>Debe ingresar el correo electrónico con el formato correcto. Por ejemplo: [email protected]<br/>'},
		   'mensaje':{required:'<br/>Debe ingresar algún mensaje<br/>', minlength: '<br/>Requiere mínimo 15 letras<br/>'}
   	   },
   		debug:true,
	    submitHandler:function(){
			$.ajax({
				url: "email.php",
				type: "GET",
				dataType: "json",
				success: function(){
					$("#formV").fadeIn("slow").after(responseText);
				},
				error: function(){
					$("#formV").fadeIn("slow").after("Su mensaje no ha podido ser enviado.");
				}
			});
		}
	});
El de email.php no lo he cambiado.

Última edición por gcrlink; 26/01/2012 a las 09:50