Primero:
Tengo un formulario de contacto que usa una pagina php para poder enviarlo gracias a un scrip php que me ayuda a mandar mediante gmail.
Archivo Html Formulario
<head>
<script type="text/javascript" src="js/jquery.js" mce_src="slide.js"></script>
<script type="text/javascript" src="js/contactanos.js" mce_src="slide.js"></script>
</head
<form action="" method="POST" id="miformulario"><table width="34%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="45%" height="25">Empresa</td>
<td width="40%">
<label><input type="text" id="empresa"/>
</label></td>
<td width="15%" align="center" valign="middle"><label>
<input name="Botón" type="button" id="enviar" value="Botón"/>
</label></td>
</tr>
<tr>
<td height="25">Persona de Contacto</td>
<td><label>
<input type="text" id="personacontacto" />
</label></td>
<td><label></label></td>
</tr>
<tr>
<td height="25">Dirección</td>
<td><label>
<input type="text" id="direccion" />
</label></td>
<td> </td>
</tr>
<tr>
<td height="25">E-mail</td>
<td><label>
<input type="text" id="email" />
</label></td>
<td> </td>
</tr>
<tr>
<td height="25">Teléfono</td>
<td><label>
<input type="text" id="telefono"/>
</label></td>
<td> </td>
</tr>
<tr>
<td height="25">Fax</td>
<td><label>
<input type="text" id="fax" />
</label></td>
<td> </td>
</tr>
<tr>
<td height="25">Comentario/Consulta</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="3"><label>
<textarea id="mensaje" cols="42" rows="5"></textarea>
</label></td>
</tr>
<tr>
<td colspan="3"><div id="msgcontactenos"></div></td>
</tr>
</table>
</form>
El formulario para no recargar la pagina usa ajax, llamo a la funcion incluyendo el archivo contactanos.js (Es un archivo externo y lo invluyo en la cabezera de la pagina)
// JavaScript Document
var j = jQuery.noConflict();
j(document).ready(function(){
j("#enviar").click(function(){
//var pepe= $("#nick").val()
var dataString = 'empresa=' + j("#empresa").val() + '&personacontacto=' + j("#personacontacto").val() + '&direccion=' + j("#direccion").val() + '&email=' + j("#email").val() + '&telefono=' + j("#telefono").val() + '&fax=' + j("#fax").val() + '&mensaje=' + j("#mensaje").val();
j.ajax({
type: "POST",
url: "php/send.php",
data: dataString,
beforeSend: function(){
j("#msgcontactenos").html('<img src="Imagenes/gif/loader.gif"/>Enviando Mensaje');
},
success: function(respuesta){
j("#empresa").val("");
j("#personacontacto").val("");
j("#direccion").val("");
j("#email").val("");
j("#telefono").val("");
j("#fax").val("");
j("#mensaje").val("");
j("#empresa").focus();
j("#msgcontactenos").html(respuesta);
}
});
});
});
que a su vez llama al archivo php:
send.php
<?php
include("ScripPhpGmail/phpmailer-gmail/class.phpmailer.php");
include("ScripPhpGmail/phpmailer-gmail/class.smtp.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "mi cuenta en gmail";
$mail->Password = "mi contraseña";
$empresa = $_POST["empresa"];
$personacontacto = $_POST["personacontacto"];
$direccion = $_POST["direccion"];
$correo = $_POST["email"];
$telefono = $_POST["telefono"];
$fax = $_POST["fax"];
$cuerpo = $_POST["mensaje"];
$mail->From = "[email protected]";
$mail->FromName = $_POST["personacontacto"];
$mail->Subject = "Consulta/Comentario";
$mail->AltBody = $_POST["mensaje"];
$mail->MsgHTML("<b><u><font color=red>Remitente</font></u></b><p>$personacontacto</p> <b><u><font color=red>Empresa</font></u></b> <p>$empresa</p> <b><u><font color=red>Comentario/Consulta</font></u></b> <p>$cuerpo</p> <b><u><font color=red>Telefono</font></u></b><p>$telefono</p> <b><u><font color=red>Fax</font></u></b><p>$fax</p> <b><u><font color=red>Direccion</font></u></b><p>$direccion</p> <b><u><font color=red>Correo</font></u></b><p>$correo</p>");
//$mail->AddAttachment("files/files.zip");
//$mail->AddAttachment("files/img03.jpg");
$mail->AddAddress("micorreo de destino", "Destinatario");
$mail->IsHTML(true);
if(!$mail->Send()) {
echo "Error: " . $mail->ErrorInfo;
} else {
echo "<img src= 'Imagenes/Iconos/bien.png'/>Gracias, en breve nos Contactaremos con Usted</img>";;
}
?>
Esto me funciona a la perfección cuando prueba la pagina de manera independiente al proyecto ya puse los formatos y todo a los titulos, me funciona a la perfección.
El problema es cuando trato de incluir a una ventana modal el formulario.
primero el formulario carga normal, en el modalbox (los uso con protetype), incluso envia el correo, el problema es que lo envia solo con los encabezados pero no reconoce lo escrito en los cuadros de texto, en pocas palabras me envia un correo en blanco.
Lei en una pagina que tenia que poner este codigo en el boton enviar para poder enviar los parametros, pero igual sigue enviandome el correo solo con los encabezados en blanco.
Esto lo agrego en el boton enviar:
onclick="Modalbox.show(''php/send.php", {title: 'Enviando mensaje', params: Form.serialize('miformulario')}); return false;"
En conclusion, disculpenme si el post es muy largo es que tenia que enviar el codigo para que puedan ver lo que estoy haciendo, de antemano agradesco cualquier ayuda, y espero no incomodar a nadie, gracias.