使用PHP和JS“消息发送”确认弹出窗口

时间:2012-03-17 13:45:08

标签: javascript php alert sendmail

我刚开始使用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>

这是我的问题: 在我通过发送按钮发送填好的联系表后,我得到一个弹出窗口,上面显示的信息 - 但这样做会离开我所在的实际页面,只显示白屏。

如何在不离开我所在的网页的情况下获取该弹出式消息?

2 个答案:

答案 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发送数据(当用户提交数据时),接收弹出框的内容然后显示它。