hola que tal, estube haciendo un formulario con ajax y mootools alprincipio si funciono perfectamente, y no se que movi y ya no.. estube revisandolo y lo hize de nuevo y no jalo no se que pueda ser, miren el js tiene esto:
este es: contacto.js
Código HTML:
var validar = function (c) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(c)){
return 1; } else { return 0; }
}
var show = function(e,t,v) {
e.effect('opacity', {
duration: 700,
onComplete: function(){
if(v!=1) {
e.setProperties({ 'class': 'stop' });
} else {
e.removeProperty('class');
}
e.setHTML(t).effect('opacity', {duration: 700}).start(0,1);
}
}).start(1,0);
}
window.addEvent('domready', function(){
var c = $('contacto');
var msj = $('mensajes');
c.addEvent('submit', function(e){
new Event(e).stop();
if(c.nombre.value == '') {
show(msj,'<img src="images/alert.png" alt="" width="50" height="50" /><br>No agregaste tu nombre');
}
else if(c.mail.value == '') {
show(msj,'<img src="images/alert.png" alt="" width="50" height="50" /><br>No has agregado tu correo electrónico');
}
else if(validar(c.mail.value)==0) {
show(msj,'<img src="images/alert.png" alt="" width="50" height="50" /><br>El correo electrónico que añadiste no es válido');
}
else if(c.asunto.value=='') {
show(msj,'<img src="images/alert.png" alt="" width="50" height="50" /><br>Es necesario agregar un asunto para el mensaje');
}
else if(c.mensaje.value=='') {
show(msj,'<img src="images/alert.png" alt="" width="50" height="50" /><br>Para enviar es necesario escribir un mensaje');
} else {
show(msj,'<img src="images/spinner.gif" alt="" /><br>Enviando...');
new Ajax('includes/contacto.php', {
method: 'post',
data: c,
onComplete:function(e) {
show(msj, e, 1);
show(msj,'<img src="images/okfull.png" alt="" width="50" height="50" /><br>Se ha enviado con éxito, el mensaje, en un lapso no mayor a 24 horas nos pondremos en contacto<br><strong>Gracias</strong>');
}
}).request();
}
});
});
y el formulario es este
Código HTML:
<form id="contacto">
<div id="block_center_solo">
<div id="form">
<h1><? echo "$row[titulo]";?></h1>
<h2><? echo "$row[text]";?></h2>
<div id="block_center">
<label for="nombre">Tu Nombre: <br />
<input name="nombre" id="nombre" class="caja" type="text" />
</label>
<label for="email">Tu E-mail: <br />
<input name="email" id="email" class="caja" type="text" />
</label>
<label for="telefono">Tu Telefono: <br />
<input name="telefono" id="telefono" class="caja" type="text" />
</label>
<label for="direccion">Tu Direccion: <br />
<input name="direccion" id="direccion" class="caja" type="text" />
</label>
</div>
<div id="block_right">
<label for="depto">Departamento: <br />
<select name="depto" class="caja" id="depto">
<option value="" selected="selected">------------- Selecciona -------------</option>
<? $result = $db->query("select * FROM normal_contact_mail");
while(list($id,$title,$mail) = $db->fetch_row($result)) {
echo "<option value=\"$mail\">$title</option>\r\n"; }?>
</select>
</label>
<label for="asunto">Asunto: <br />
<input name="asunto" type="text" class="caja" id="asunto" />
</label>
<label for="mensaje">Mensaje: <br />
<textarea id="mensaje" name="mensaje" class="textarea" rows="" cols=""></textarea>
</label>
<div align="center"><input id="botonenvio" onclick="verificarDatosCorreo(); return false;" type="submit" value="Enviar mensaje" class="boton2" /></div>
<input name="enviar" id="enviar" value="1" type="hidden" />
</div>
</div>
</div>
<div id="block_center_solo"><br />
<div id="mensajes"></div>
</div>
</form>
y el contacto.php es:
Código PHP:
if ($_POST[enviar] = 1) {
$sender_name = $_POST[nombre];
$sender_email = $_POST[email];
$sender_phone = $_POST[telefono];
$sender_address = $_POST[direccion];
$depto = $_POST[depto];
$sender_asunto = $_POST[asunto];
$message = $_POST[mensaje];
$subject = "Formulario de Contacto en Esc. Part. Normal Sup.";
$msg = "Escuela Particular Normal Superior\n\n";
$msg .= "Nombre: $sender_name\n";
$msg .= "E-mail: $sender_email\n";
$msg .= "Asunto: $sender_asunto\n";
$msg .= "Telefono: $sender_phone\n";
$msg .= "Direccion: $sender_address\n";
$msg .= "Mensaje: $message\n\n";
$to = "[email protected]";
$mailheaders = "From: $sender_name <$sender_email>\n";
$mailheaders .= "Reply-To: $sender_email\n\n";
mail($depto, $subject, $msg, $mailheaders);
}
funcionaperfectamente el ajax con los efectos pero no envia el mail, espero me ayuden!!!