0

我在提交给自身的页面中有一个表单。在我检查的 PHP 部分

if($_SERVER['REQUEST_METHOD'] == 'POST')

然后我跑了几件事。如果发布了某些内容,我正在尝试使用Alertify套装显示警报。但是在页面加载时出现错误

alertify is not defined

我猜它只是这样做,因为页面还没有加载到 js/css 文件的包含链接(查看 FireFox 的 FireBug,我看到在<html>标记之前加载了 Alertify 脚本行)。我该怎么做才能让它正常工作?

更新代码:

<?php 
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
        echo '<script type="text/javascript">alertify.alert("Hello");</script>';
    }
?>
<html>
    <head>
        <title>Hello There</title>
        <!--  Alertify Includes -->
        <script type="text/javascript" src="alertify.js"></script>
        <link rel="stylesheet" type="text/css" href="alertify.core.css">
        <link rel="stylesheet" type="text/css" href="alertify.default.css">        
    </head>
    <body onLoad="onLoad()">
        <form action="" method="POST" id="CONFIRM">                          
            <input  class="txt" value="" type="text" name="myName" id="myID" onKeyUp="" onChange="" onFocus="" />
        </form>
    </body>
</html>
4

3 回答 3

1

在您发布消息来源后,我想我知道出了什么问题:

<?php 
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
    echo '<script type="text/javascript">alertify.alert("Hello");</script>';
    }
?>

位于加载您的 javascript 的脚本标记上方。这意味着 PHP 段中的任何代码都在该代码之前执行。换句话说,alertify 还没有在那里定义。

要解决此问题,请在头部中放置 PHP 回显,在 alertify 的包含下方,或将 alertify 作为单独的回显包含在 PHP 中,例如:

<?php 
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
    echo '<script type="text/javascript" src="alertify.js"></script>'
    echo '<script type="text/javascript">alertify.alert("Hello");</script>';
    }
?>
于 2014-05-14T09:55:20.847 回答
0

确保在 HTML 文档中包含用于 alertify 的脚本标记。

<script src="PATH_TO_FILE/alertify.min.js"></script>

(代码截自 alertify 的主页)

如果您已包含脚本标记,请按 f12 和 ctrl-f5 页面,确保脚本的路径不会返回 404。

于 2014-05-08T13:23:17.397 回答
0

这是因为确实,alertify 不会在您调用它时被定义,因为脚本文件尚未加载。尝试将代码 alertify.alert("Hello");';} ?> 链接到脚本后。把它放在标签下面,它会工作的。

于 2014-05-08T14:27:42.017 回答