php脚本调用父javascript函数

时间:2013-02-13 03:02:23

标签: php javascript

我有这个文件夹结构:

index.php

js/scripts.js

index.php中我定义了一个名为execute()的JavaScript函数。

现在在index.php内我有一个表单,在提交时会调用email.php并在执行email.php时执行此操作:

echo '<script type="text/javascript">parent.execute();</script>';

一切正常。

现在,当我将execute()移至scripts.js并将此行代码放入index.php时:

<script type="text/javascript" src="js/script.js"></script>

然后email.php无法找到execute()函数。我知道这个,因为如果我修改了execute函数,那么只运行原始版本(index.php中的版本)。

我知道这很奇怪,但我是新手,我不知道无论如何我可以调试这个。有什么明显的东西我不见了吗?

1 个答案:

答案 0 :(得分:0)

首先,请确保您的<script>代码中没有拼写错误。您已将外部脚本文件称为script.js和scripts.js。一点儿就可以发挥重要作用。

假设您已正确包含脚本,很可能是将execute放在另一个函数中,从而将其从全局范围中删除。如果script.js看起来像这样,那就是这种情况:

(function () {
    ...
    function execute () {
        ...
    }
})();

如果是这种情况,请将execute移出包含该功能的内容。您还可以通过明确将execute作为window的属性将window.execute = function execute () { ... }; 置于全局范围内:

execute

如果你这样做,可以将{{1}}留在另一个函数中。