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