将刷新页面的PHP表单更改为Ajax?

时间:2013-01-07 23:41:01

标签: php ajax

我的网站上有一个简单的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\">";
}

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

在调用页面上,尝试将成功消息插入div 类似的东西(使用jquery)

.done(function(){
$('#somediv').html('Success yippy!!');
})

答案 2 :(得分: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();
      }
   });

});

最后在myphp文件中,您可以通过执行以下操作来检索消息变量:

$message = $_POST['message'];