如何从PHP显示JavaScript警报?

时间:2009-10-22 22:51:24

标签: php javascript

我不用PHP编写代码,但是我有这个表格,我从网上下载并且工作得很好:

我想做的是以某种方式在这里添加一些代码,可以启动一个JS脚本,简单的警告框,说“感谢您提交表单”。在这个mailer.php文件收到表单后。

<?php
if(isset($_POST['submit'])) {

$to = "myEmail@email.com";
$subject = "Form Tutorial";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];

$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

echo "Data has been submitted to $to!";
mail($to, $subject, $body);

} else {

echo "blarg!";

}
?>

3 个答案:

答案 0 :(得分:19)

而不是:

echo "Data has been submitted to $to!";

echo '<script type="text/javascript">alert("Data has been submitted to ' . $to . '");</script>';

答案 1 :(得分:4)

您可以在PHP的echo块中<script></script> Javascript。然后浏览器将执行它。

例如:

<?php
     echo "<script language='javascript'>alert('thanks!');</script>"; 
?>

答案 2 :(得分:2)

您只需输出HTML / JS即可。像这样:

<?php
    if(isset($_POST['submit'])) {
        $to = "mjleppan@hotmail.com";
        $subject = "Form Tutorial";
        $name_field = $_POST['name'];
        $email_field = $_POST['email'];
        $message = $_POST['message'];

        $body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

        mail($to, $subject, $body);
        echo "<script type=\"text/javascript\">alert('Thank you form is submitted');</script>";
    } else {
        echo "blarg!";
    }
?>

或者:

<?php
    if(isset($_POST['submit'])) {
        $to = "mjleppan@hotmail.com";
        $subject = "Form Tutorial";
        $name_field = $_POST['name'];
        $email_field = $_POST['email'];
        $message = $_POST['message'];

        $body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

        mail($to, $subject, $body);
?>
    <script type="text/javascript">alert('Thank you form is submitted.');</script>
<?php
    } else {
        echo "blarg!";
    }
?>

然而,听起来您可能不希望在提交表单和向用户提供确认之间重新加载页面。为此,您需要通过AJAX提交表单。我建议调查JQuery。它makes this easy