【问题标题】:Issues with calling a JavaScript function from PHP从 PHP 调用 JavaScript 函数的问题
【发布时间】:2012-06-18 08:09:59
【问题描述】:

我创建了一个表单,用于将时事通讯上传到数据库中。我正在使用 iFrame 方法在不刷新页面的情况下发布日期,并且正在显示一个用于加载的漂亮 jQuery 对话框。

我现在在上传完成后关闭该对话框时遇到问题。我在网上阅读的所有教程都说我必须像这样回显代码:

<?php
  echo "<script type='text/javascript>uploadComplete();</script>";
?>

现在,当我执行一些愚蠢的测试(例如回显警报)时,JavaScript 确实会运行,但是当我尝试调用任何函数或直接转到 jQuery 以关闭对话框时,它只是说该函数未定义.如果有必要,我可以发布我的代码,但它非常标准,我认为在这种示例中我不需要。

任何帮助将不胜感激!提前致谢。

【问题讨论】:

  • 还是没弄明白..还有什么建议吗?

标签: php javascript jquery dialog


【解决方案1】:

你忘了''text/javascript'的末尾

echo "<script type='text/javascript'>uploadComplete();</script>";

NB:如果脚本是 JavaScript,type 属性是完全不需要的

【讨论】:

  • 哦,那是我的错,但是错字已在我的代码中修复,它不起作用。不过谢谢!
【解决方案2】:
using just php

echo '<script type="text/javascript">'
   , 'jsfunction();'
   , '</script>';

escaping from php mode to direct output mode

<?php
// some php stuff
?>
<script type="text/javascript">
    jsFunction();
</script>

【讨论】:

  • 这两种方法我都试过了,就是找不到功能。我已经仔细检查了函数名称是否正确。
【解决方案3】:

我最终通过使用以下代码解决了这个问题:

<?php
  echo "<script type='text/javascript>top.uploadComplete();</script>";
?>

“top”关键字刚刚解决了我所有的问题。我希望这对遇到与我相同的问题的人有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-14
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 2012-06-22
    • 1970-01-01
    相关资源
    最近更新 更多