Hola a todos, tengo un formulario en PHP + AJAX y tengo un problema, los mensajes de confirmación y los de errores no aparecen una vez ocurren.
El codigo del
contactform.html es este:
Código HTML:
<head>
<script type="text/javascript" src="jquery-1.2.3.min.js"></script>
<script type="text/javascript" src="jquery.form.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#myForm').ajaxForm(function(data) {
if (data==1){
$('#success').fadeIn("slow");
$('#myForm').resetForm();
}
else if (data==2){
$('#badserver').fadeIn("slow");
}
else if (data==3)
{
$('#bademail').fadeIn("slow");
}
});
});
</script>
<style type="text/css">
p#success
fieldset{
width:280px;
background-color: #EBEBEB;
}
label{
width:70px;
text-transform:capitalize;
float:left;
}
p, legend{
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:10px;
}
legend{
font-size:13px;
}
input[type=text],textarea{
width:250px;
border:1px solid #000000;
}
</style>
</head>
<body>
<p id='success' style="display:none;">Su mensaje ha sido enviado, pronto estaremos en contacto con Ud.</p>
<p id='bademail' style="display:none;">Por favor, ingrese un e-mail válido</p>
<p id='badserver' style="display:none;">Su mensaje no fue enviado. Por favor, intente otra vez</p>
<form id="myForm" action="send.php" method="post">
<p><label for="nameinput">Name:</label></p><input type="text" id="nameinput" name="name" size='27'/> <br /><br />
<p><label for="emailinput">Email:</label></p><input type="text" id="emailinput" name="email" size='27'/> <br /><br />
<p><label for="commentinput">Comments:</label></p><textarea name="comment" id="commentinput" cols='25' rows='4'></textarea> <br /><br />
<center><input type="submit" id="submitinput" value="Send it!" /> </center>
</form>
</body>
El
send.php:
Código php:
Ver original<?php
function valid_email($str)
{
return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ?
FALSE : TRUE; }
if($_POST['name']!='' && $_POST['email']!='' && valid_email
($_POST['email'])==TRUE && strlen($_POST['comment'])>1) {
$headers = 'From: '.$_POST['email'].''. "\r\n" .
'Reply-To: '.$_POST['email'].'' . "\r\n" .
$subject = "Mensaje formulario de contacto";
$message = "Este mensaje fue enviado por: ".$_POST['apellidos'].", ".$_POST['name']. " \r\n";
$message.= "Perteneciente a la empresa: ".$_POST['empresa']." \r\n";
$message.= "Su e-mail es: ".$_POST['email']." \r\n";
$message.= "Su teléfono es: ".$_POST['telefono']." \r\n";
if(mail($to, $subject, $message, $headers)) {
echo 1; //SUCCESS
}
else {
echo 2; //FAILURE - server failure
}
}
else {
echo 3; //FAILURE - not valid email
}
?>
Y el
style.css:
Código css:
Ver originalfieldset{
width:280px;
background-color: #EBEBEB;
}
label{
width:70px;
text-transform:capitalize;
float:left;
}
p, legend{
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:10px;
}
legend{
font-size:13px;
}
input[type=text],textarea{
width:250px;
border:1px solid #000000;
}
Y
aquí los JQuerys.
No se cual es el problema, seguramente sea alguno de esos de los que siempre me sucede.
Saludos
Mensaje también publicado en
Cristalab.Com