layer弹出Iframe层后,如何调用父页面js方法

提问 已结
12 33917
larry
larry VIP4 2015-7-31
悬赏:5飞吻
layer 弹出 iframe层 父子操作时,只能通过 parent.$('.v1').text('我被改变了'); 传一个值去父页面。
如何 在 子页面 执行 父页面的 方法。
例如
function Test() {
alert('父页面调用我了');
}
回帖
  • 小魔方
    小魔方 VIP2 (社区之光)
    2015-7-31
    http://layer.layui.com/api.html#layer.getChildFrame

    layer.getChildFrame(selector, index) - 获取iframe页的DOM
    当你试图在当前页获取iframe页的DOM元素时,你可以用此方法。selector即iframe页的选择器

    var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
    1 回复
  • 非常感谢!
    0 回复
  • adam1982
    2016-7-21
    @小魔方 你好,我现在能获取到父页面的iframe,但是调用不了里面的js方法是什么问题呢?
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2016-7-21
    @adam1982 问问题要贴出你写的代码,不然别人怎么知道你错在了哪里。我在你的帖子里面回复你了。
    0 回复
  • hu_huasong
    2016-7-21
    @小魔方 layer.open type=2,iframeWin能正确答应出来,父页面有个function test(){console.log("xxxxx");},但是test方法并没有被执行,请问是啥原因?
    success: function(layero, index){
    var body = layer.getChildFrame('body', index);
    var iframeWin = window[layero.find('iframe')[0]['name']];
    console.log(body.html());
    console.log(iframeWin);
    iframeWin.test();
    }
    0 回复
  • hu_huasong
    2016-7-21
    @小魔方 js报错是:iframeWin.test is not a function
    0 回复
  • fdasfdsf
    2016-11-17
    我在最后一个子页面,获取上一级id的值,怎么获取的啊
    0 回复
  • TT_dxm
    2017-1-9
    @hu_huasong 我的也是报这样的错误,不知道是为什么
    0 回复
  • 痞子菜
    2017-10-24
    @小魔方 你好。我再layer.open打开的iframe里
    $(".makeSure").click(function(){
    var visitorType=$(this).attr("data-name");
    var postData={
    visitorId:visitorId,
    visitorTypeId:visitorTypeId
    };
    ajaxPost(url,"get",postData,function(json){
    parent.updateTable(visitorType);//调用父页面的函数
    parent.layer.close(index);
    })
    })
    父页面:
    layui.use(...,function(){
    function updateTable(visitorType){
    console.log("visitorType="+visitorType);
    }
    })
    这样报错了,parent.updateTable is not function
    请问是哪里有问题?
    0 回复
  • 小魔方
    小魔方 VIP2 (社区之光)
    2017-10-24
    @痞子菜
    layui.use(...,function(){
    function updateTable(visitorType){
    console.log("visitorType="+visitorType);
    }
    window.updateTable = updateTable;
    })
    0 回复
  • 蜜蜂灬
    2017-11-30
    想问下这个问题解决了吗?我也是在子页面调用父页面的方法时报这个错误,解决了的,能告诉下怎么解决的吗?谢谢!!!
    0 回复
  • 灿妮儿
    2017-12-19
    父页面的方法应该写在$(function(){});的外面
    0 回复
本帖已设置禁止回复