联系表单同页成功

我正在尝试发送一封包含PHP和Ajax的电子邮件,邮件程序正在运行,但我对Ajax知之甚少,在阅读了几本书之后我写了一小段代码并希望有人可以指出我在哪里我错了:

这是我的PHP:

<?php $name = ($_POST['name']); $email = ($_POST['email']); $fsubject = ($_POST['subject']); $message = ("Name: ". $name . "\nEmail Address: " . $email . "\n\nMessage: " . $_POST['message']); // Set Mail $to = "emailaddress@fakeone.com"; $headers = 'emailaddress@fakeone.com' . "\r\n"; $subject = "{$fsubject}"; $body = "{$message}"; // Send Mail if (mail($to, $subject, $body, $header)) { echo("

Message successfully sent!

"); } else { echo("

Message delivery failed...

"); } ?>

我的HTML:

 

我的AJAX:

  $(document).ready(function(){ $('#submit').click(function(){ $.post("sendmail.php", $("#contactform").serialize(), function(response) { $('#success').html(response); //$('#success').hide('slow'); }); return false; }); });  

目前,同一页面只是重新加载,所需的结果只是一个微妙的成功或失败消息出现。

欢迎任何帮助!

谢谢,丹

您的代码段似乎运行得很好。 它必须是其他JS(例如检查浏览器控制台,Chrome中的F12)或PHP中的错误。

试试这个以查看ajaxpost是否失败:

  

另外,尝试确保PHP执行正常,因此删除所有javascript并替换

 

检查该页面的结果,它应该是“消息已成功发送!”。

另外,检查代码的简单JS片段: http : //jsfiddle.net/CPtpk/

请注意,如果您的网页中有其他JavaScript代码可能导致此问题。 即使你的JS错误在另一个地方,它也可能导致JS执行停止,因此你的onClick没有被执行,这就是你得到问题的原因……

在JS上尝试这样的事情: