我刚开始使用PHP并且有一个相当简单的问题,我似乎无法弄清楚。我已经设置了一个基本的PHP脚本,它将向我发送我的网站联系页面中的内容。脚本本身很好 - 验证器也是如此。现在我想要实现的是获得一个简单的弹出窗口(类似于javascript中的警报功能)。这是我的尝试:
if ($valid) {
//*isUTF8($subject);
//*isUTF8($formcontent);
sendMail();
$body = $successMarkup . $backMarkup;
$title = "Form sent";
@header("location:formsent.php");
} else {
$body = $errorMarkup . $errorMarkupEnd . $backMarkup;
$title = "Form errors";
}
我在这里引用的文件formsent.php只包括基本的html标记以及一旦打开页面就会执行的javascript警告:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Contact Success</title>
</head>
<body>
<script language="Javascript">
<!--
alert ("Thank you for your message! I will come back to you as soon as possible!")
//-->
</script>
</body>
</html>
这是我的问题: 在我通过发送按钮发送填好的联系表后,我得到一个弹出窗口,上面显示的信息 - 但这样做会离开我所在的实际页面,只显示白屏。
如何在不离开我所在的网页的情况下获取该弹出式消息?
答案 0 :(得分:1)
尝试使用这个:http://jquery.malsup.com/form/和jQuery一起使Ajax表单提交简单。 该页面上显示的示例足以实现您的故事类型。 刚才说:
<script>
$(document).ready(function(){
$('form#form_id').ajaxForm(
function(data){
alert(data);
}
)
})
</script>
因此,您在sendmail脚本中需要做的就是回显所需的消息,不需要重定向。
答案 1 :(得分:0)
标题(“位置:&lt; url&gt;”)会导致正确的重定向。您需要在此处使用Ajax发送数据(当用户提交数据时),接收弹出框的内容然后显示它。