dongwende1984 2013-02-13 03:02
浏览 31
已采纳

php脚本调用父javascript函数

I have this folder structure:

index.php

js/scripts.js

In index.php I have a JavaScript function defined called execute().

Now within index.php I have a form that when submitted will call email.php and at the end of the execution of the email.php I do this:

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

This all works fine.

Now when I move execute() into scripts.js and I put this line of code in index.php:

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

then email.php is somehow unable to find execute() function. I know this because if I modify the execute function only the original version (the one that was in index.php) is ran.

I know this is weird, but I am new to this and I don't know of anyway I can debug this. Is there something obvious that I am missing?

  • 写回答

1条回答 默认 最新

  • dongshi2458 2013-02-13 03:41
    关注

    First, make sure you don't have a typo in your <script> tag. You've referred to your external script file as both script.js and scripts.js. One little 's' can make all the difference.

    Assuming you've included your script correctly, most likely, you have put execute within another function, thus taking it out of the global scope. That would be the case if script.js looks something like this:

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

    If that's the case, move execute out of it's containing function. You can also put execute in the global scope by explicitly making it a property of window:

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

    If you do it this way, it's fine to leave execute within another function.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊