0

我正在构建的网站上有一个简单的 PHP 联系表。在提交表单的那一刻,页面刷新,然后使用 PHP 在清除的联系表单下方显示成功消息。

有什么办法可以让页面不刷新并仍然通过 Ajax 显示 PHP 成功消息,我该怎么做?

我对 PHP 很陌生。这是我当前代码的一部分...

if ($nr != $sum)
header('Location: index.php?msg=wrong#contactform');
else

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$Email>");


// redirect to success page 
if ($success){
header('Location: index.php?msg=sent#contactform');
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=index.php\">";
}
4

3 回答 3

0

您可能会发现这很有帮助。这是一个查询插件,可以轻松提交表单 ajax。http://malsup.com/jquery/form/

于 2013-01-07T23:44:10.220 回答
0

在调用页面上,尝试将成功消息插入到 div 中,例如(使用 jquery)

.done(function(){
$('#somediv').html('Success yippy!!');
})
于 2013-01-07T23:44:15.230 回答
0

要实现这一点,您必须结合两种技术。客户端的Javascript和服务器端的PHP

首先,您创建一个 HTML 表单和成功警报。

<span class="formSubmitted">Your form was submitted!</span>

<form>
<input type="text" id="messageInput">
<input id="submitButton" type="submit">
</form>

然后使用 jQuery(Javascript 框架),你提交这个表单。

$("#submitButton").click(function(e){
   e.preventDefault();
   $.ajax({
      url : "myphpfile.php",
      type : "POST",
      data : {
         "message" : $("#messageInput").val() 
      },
      success: function(){
          $(".formSubmitted").fadeIn();
      }
   });

});

最后在 myphpfile 中,您可以通过以下操作检索消息变量:

$message = $_POST['message'];
于 2013-01-07T23:53:04.573 回答