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 をロードする script タグの上にあります。これは、PHP セグメント内のすべてのコードがそのコードの前に実行されることを意味します。つまり、alertify はまだ定義されていません。

これを解決するには、PHP エコーを head 内、alertify の include の下に配置するか、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 に答える