如何在页面加载时使用JavaScript Alertify?

问题描述 投票:0回答:3

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

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

然后我做了几件事。如果发布了某些内容,我试图使用Alertify套装显示警报。但在页面加载时我得到错误

alertify is not defined

我想这只是因为页面没有加载到js / css文件的include链接(查看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>
javascript php forms pageload alertify
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>';
    }
?>

0
投票

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

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

(来自alertify主页的代码片段)

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


0
投票

实际上,因为脚本文件尚未加载,因此在您调用alertify时不会定义alertify。尝试在链接到脚本后输入代码alertify.alert(“Hello”);';}?>。把它放在标签下方,它会起作用。

© www.soinside.com 2019 - 2024. All rights reserved.