联系表格:AJAX和jQuery动画和编码结构

时间:2013-03-04 19:26:26

标签: php jquery ajax forms contact

我遇到了这个问题。看看这个:http://santz.net/index.contacto.html

尝试发送任何东西,看看会发生什么(这是我的,我收到它,发送任何没有问题......)。 (它离开页面,显示一个对话框,表示感谢您与我们联系...并将其重定向到同一页面)。我讨厌这个!!!

我正在寻找一些AJAX和jQuery代码,在发送消息之后,它会清除表单并打开一个对话框(常见的...就像典型的登录框一样)并且会淡化页面并显示一些“x”内容......

问题是我不知道怎么做这些事情而且我疯了!如果你能给我代码并告诉我把它放在哪里,或者只是给一个新的教程或类似的东西它会很棒......

我在这里留下我正在使用的PHP代码:

<?php
$field_name = $_POST['php_name'];
$field_email = $_POST['php_email'];
$field_phone = $_POST['php_phone'];
$field_message = $_POST['php_message'];

$field_sender = 'alpha@hotmail.com';

$mail_to = 'gama@hotmail.com.ar';
$subject = 'Mensaje via Santz.net de '.$field_name;

$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Phone: '.$field_phone."\n";
$body_message .= 'Message: '.$field_message;

$headers = 'From: '.$field_sender."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        alert('Gracias por contactarse, en breve, me pondre en contacto.\n\nSantz Design | www.santz.net');
        window.location = 'index.contacto.html';
    </script>
<?php
}
else { ?>
    <script language="javascript" type="text/javascript">
        alert('El envio fallo. Por favor, envie un mail directamente a info@santz.net');
        window.location = 'index.contacto.html';
    </script>
<?php
}
?>

2 个答案:

答案 0 :(得分:1)

尝试更改此内容:

window.location.assign('http://www.santz.net/');

而不是:

window.location = 'index.contacto.html';

在同一页面上显示错误消息,请按照以下示例操作: Add validation message in fieldset instead of js popup

对于模态窗口,请使用类似这样的插件:

http://www.mywebdeveloperblog.com/my-jquery-plugins/modalpoplite

演示:

http://www.mywebdeveloperblog.com/projects/modalpoplite/demo/

saludos;)

答案 1 :(得分:0)

为什么不使用jQuery

$('input[type="submit"]').click(function(e){
 e.preventDefault();
 $.ajax({
 type: "POST",
 url: contact.php,
 data: $('#contact-form"').serialize();,
 success: function() {
   //modal
  }
 });
});

沿着这些方向的东西将是ajax提交表单的方式,然后弹出一个窗口给用户说谢谢请查看my form以获得一个没有弹出窗口的想法