我有一个奇怪的问题,我似乎无法解决 . 我试图从我的smarty模板目录之外的文件调用javascript函数,它似乎没有工作 . 在我的智能文件中,我有:
<script type='text/javascript' src= '../functions/editConcert.js'></script>
<form>
<input type="button" value="Edit Info" onclick="editInfo();">
</form>
在我的editConcert.js文件中,我有(用于测试目的):
function editInfo(){
alert("I get here");
}
我的目录结构如下所示:
Classes
-FillConcertInfo.php (this calls the smarty display function)
Templates
-editConcert.tpl
Javascript
-editConcert.js
我不能为我的生活找出正在发生的事情 . 它在普通的php / html页面中工作正常,但聪明似乎把它扔到了路边 . 任何帮助将非常感激 .
编辑:值得注意的是,将以下内容添加到我的smarty模板中,但我想使用外部文件:
{literal}
<script>
function editInfo(){
alert("I get here");
}
</script>
{/literal}
2 回答
Smarty不会影响发送到客户端的外部资源的加载,因为它们是客户端请求的 . 在模板中添加javascript是有效的,因为这样定义了一个函数,其中到外部资源的断开链接将使函数未定义 .
打开Firebug / Chrome检查器并查看网络信息,查看是否正在加载外部JavaScript页面,或者最有可能的状态是404.检查目录,这应该可以解决问题 .
我怀疑js文件没有正确链接,也没有找到 . 确保正在加载资源 . 如果没有,请修复路径 .