我在页面中有一个提交给自己的表单。在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>
在您发布消息来源后,我想我知道出了什么问题:
<?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>';
}
?>
确保在HTML文档中包含alertify的脚本标记。
<script src="PATH_TO_FILE/alertify.min.js"></script>
(来自alertify主页的代码片段)
如果您已包含脚本标记,请在页面上按f12和ctrl-f5,确保脚本的路径未返回404。
实际上,因为脚本文件尚未加载,因此在您调用alertify时不会定义alertify。尝试在链接到脚本后输入代码alertify.alert(“Hello”);';}?>。把它放在标签下方,它会起作用。