Sep 7, 2013

jQuery – Submit a form to .php via Ajax and display text on success

JS:

<script>
function enviar(){
parametros=$("#contacto").serialize();
$.ajax({
data: parametros,
url: 'email.php',
type: 'post',
beforeSend: function () {
//$("#resultado").html("Procesando, espere por favor...");
$("#title_contacto").html("Procesando, espere por favor...");
},
success: function (response) {
//$("#resultado").html("¡Gracias por sus comentarios!");
$("#title_contacto").html("¡Gracias por sus comentarios!");
$("#submit").prop('disabled', true);
$("#submit").prop('disabled', true);
$("#submit").val("¡Gracias!");
}
});
}
</script>

HTML:


 

<form name="input" action="email.php" method="POST" id="contacto">
<input type="text" name="nombre">
<input type="text" name="empresa">
<input type="text" name="telefono">
<input type="text" name="email">
<textarea id="textarea" name="mensaje"></textarea>
<input id="submit" type="button" value="Enviar" onclick="enviar();">
</form>
<div id="resultado"></div>


PHP:

<?php
if (isset($_POST["nombre"]) && !empty($_POST["nombre"])) {
$sender = "sender@domain.com";
$sendTo
= "someuser@domain.com";
$subject
= "Forma de Contacto";

$nombre = $_POST["nombre"];
$empresa = $_POST["empresa"];
$telefono = $_POST["telefono"];
$correo = $_POST["email"];
$comentario = $_POST["mensaje"];


$texto = 'Enviado por :'.chr(13);
$texto .= $nombre.chr(13).chr(13);
$texto = 'Empresa :'.chr(13);
$texto .= $empresa.chr(13).chr(13);
$texto .= 'Teléfono :'.chr(13);
$texto .= $telefono.chr(13).chr(13);
$texto .= 'Email :'.chr(13);
$texto .= $correo.chr(13).chr(13);
$texto .= 'Comentarios :'.chr(13);
$texto .= $comentario;


$headers = "From: " . $nombre . "<" . $sender .">\r\n";
$headers .= "Reply-To: " . $correo . "\r\n";
$headers .= "Return-path: " . $correo;
$message = $texto;
mail($sendTo, $subject, $message, $headers);
}else{
header( 'Location: http://www.yourdomain.com/' );
}
?>

No comments: