Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2015, 22:52
Avatar de MLDGATO
MLDGATO
 
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años, 1 mes
Puntos: 2
Pregunta responseText no funciona

Hola estoy tratando de que por medio de ajax envíe un correo electrónico con php, en mi formulario únicamente hay un input tipo mail en el cual escribo el correo la cosa es que cuando ingreso a la página y escribo el correo este se envía y me muestra un alert indicando que lo envié pero si escribo otro ya no hace nada aparentemente, ya qe el correo si es enviado pero el alert no se despliega, ese es le código que estoy utilizando

Código HTML:
Ver original
  1. <form id="Administrar" name="Administrar" method="post" onSubmit="javascript:invitarProceso(<?php echo $elUsuario; ?>, Email.value, <?php echo $laplaza; ?>)">
  2. <p><label for="email">Email:</label></p>
  3.                 <p><input name="Email" type="email" required="required" class="datos" id="Email" form="Administrar" placeholder="Escriba un email"/></p>
  4.                 <p><table><tr><td><input name="submit" type="submit" class="btnLogin" id="submit" value="Enviar"></td></tr></table></p>
  5. </form

Al iniciar el evento onSubmit me llama a esta función de javascrip la cual tiene el ajax

Código Javascript:
Ver original
  1. function invitarProceso(usuario, correo, plaza)
  2.     {
  3.         if(correo != "")
  4.         {
  5.             if(/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(correo))
  6.             {
  7.                 var invitar;
  8.                 if(window.XMLHttpRequest)
  9.                 {
  10.                     invitar = new XMLHttpRequest();
  11.                 }
  12.                 else
  13.                 {
  14.                     invitar = new ActiveXObject("Microsoft.XMLHTTP");
  15.                 }
  16.                 invitar.onreadystatechange=function()
  17.                 {
  18.                     if(invitar.readyState==4 && invitar.status==200)
  19.                     {
  20.                         alert(invitar.responseText);
  21.                     }
  22.                 }
  23.                 invitar.open("GET","../Email/invitacion.php?usuario="+usuario+"&correo="+correo+"&plaza="+plaza,true);
  24.                 invitar.send();
  25.             }
  26.             else
  27.             {
  28.                 alert('No ha escrito una dirección de email válido');
  29.             }
  30.         }
  31.         else
  32.         {
  33.             alert('Ha dejado el campo en blanco, por favor escriba una dirección de correo electrónico');
  34.         }
  35.     }

Dicha información es enviada al archivo invitación.php

Código PHP:
Ver original
  1. $mail = new phpMailer();
  2.             $mail->Host = "mail.suministra.net"; // SMTP server
  3.             $mail->FromName = $usuarios['Nombres']." ".$usuarios['Apellidos'];
  4.             $mail->From = $usuarios['Email'];
  5.             $mail->Subject = $titulo;
  6.             $mail->addAddress($correo);
  7.             $mail->msgHTML($mensaje);
  8.             $mail->CharSet = 'UTF-8';
  9.             if($mail->Send())
  10.             {              
  11.                 mysqli_close($conexion);
  12.                 echo "Se envió el correo de invitación a ".$correo." Existosamente.";
  13.             }
  14.             else
  15.             {
  16.                 mysqli_close($conexion);
  17.                 echo "Ha ocurrido un error, no se ha podido enviar el correo a ".$correo." por favor intente más tarde.";
  18.             }

Paea enviar el correo utilizo la clase phpmailer y como digo solo la primera vez me funciona el alert luego si envia los correos pero no hay alert

Muchas gracias.