我遇到了这个问题。看看这个: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
}
?>
答案 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以获得一个没有弹出窗口的想法