【问题标题】:Call functions from iframe从 iframe 调用函数
【发布时间】:2016-01-08 07:12:18
【问题描述】:

我正在使用隐藏的 iframe 作为目标上传文件...从这个 iframe 内部我想运行我主页上的一个函数。

在我的目标iframe.php 我有

<script>

upload_completed(<?php echo $numerolinha ?>); 
    </script>

但我是从萤火虫那里得到的:

ReferenceError: loading_linha_21 is not defined
parent.upload_completed();</script>

如果我在我的主页上运行upload_completed(loading_linha_21);,它运行正常,所以我猜测在父页面上运行该功能的命令不起作用......帮助!

我也试过了:

window.top.upload_completed(<?php echo $numerolinha ?>); 

window.upload_completed(<?php echo $numerolinha ?>);

我的功能:

 <script >
 function upload_started(id){

  $(id).css("display","block");
 }
 function upload_completed(id){
 $(id).css("display","none");
 }


 </script>

【问题讨论】:

  • 那么loading_linha_21是一个JS变量的名字吗?或者它应该是一个字符串(在这种情况下你的输出会缺少引号)?
  • 不,$numerolinha 是您的 PHP 变量。但是,当您将该值作为某些 JS 代码的一部分输出时,在那个上下文中应该是什么?你有一个名为 loading_linha_21 的 JS 变量,还是应该是一个字符串值?
  • 它是一个 js 变量,但我以另一种方式寻求帮助 tks 4
  • 那个变量也在父文档中?然后当然你必须先解决父问题——就像你对函数调用所做的一样:parent.upload_completed(parent.loading_linha_21)
  • 也许这是我使用其他方式上传文件的问题

标签: php wordpress variables iframe


【解决方案1】:

我能给你的最好猜测是 jQuery 函数要求 id 为 #name_of_id,所以当你从 iframe 调用函数时,如下所示:

parent.upload_completed('#<?php echo $numerolinha ?>');

或者你可以改变你的功能来做到这一点:

function upload_started(id){
    $( '#' + id).css("display","block");
}

function upload_completed( id ) {
    $( '#' + id ).css("display","none");
}

【讨论】:

  • 我的 var 已经成为 # 但 tks 4 的小费投赞成票 :)
【解决方案2】:

在函数中添加',如下所示:

<script>
upload_completed('<?php echo $numerolinha ?>'); 
</script>

【讨论】:

  • 还是不行,我也试过 parent.upload_completed('');和 window.parent.upload_completed('');但没有快乐
  • @I-amSam 请添加您的功能
  • 好的,我用函数编辑了我的问题..但它们运行良好,如果我运行它们在 html 上读取的函数(在 firebug 中)它们工作......它们只是在父页面上不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-10
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多