如何从PHP中显示JavaScript警告框?

6

我不会编写PHP代码,但是我从网上找到了这个表单,它运行得很好:

我想在这里添加一些代码,以便在这个 mailer.php 文件接收到表单后启动一个JS脚本,弹出一个简单的提示框,显示“感谢您提交表单”。

<?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!";

}
?>

2
哈哈,这个描述性错误消息真是太有趣了...毕竟这是PHP。 - Kaleb Brasee
1
注意:仅仅因为你可以使用警告框并不意味着你应该使用它。 - Jason S
3个回答

21

用以下替代:

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

只是

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

5
您可以在PHP中的<script></script>块中使用echo JavaScript。然后,浏览器将执行它。
例如:
<?php
     echo "<script language='javascript'>alert('thanks!');</script>"; 
?>

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。它可以轻松实现这一点。点击这里了解更多。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接