弹出窗口的代码:
[code="java"]
var win = new Ext.Window({
title : 'xx',
width : 200,
height : 200,
isTopContainer : true,
modal : true,
resizable : false,
contentEl : Ext.DomHelper.append(document.body, {
tag : 'iframe',
style : "border 0px none;scrollbar:true",
src : 'viewXXX.do',
height : "100%",
width : "100%"
})
});
[/code]
一个页面中的一个按钮用以上代码弹出窗口A,然后点击A上的一个按钮,也用上面代码弹出比A还大的窗口B,这样B比自己的容器A还大,整个A页面会被B遮住,且只能显示B的中间一部分,而B如果用new top.Ext.Window则我回传值时不能用window.parent.methodXX(),得找到对应的frame再找方法,所以非常不方便。
请问有什么办法使B可以不在A容器中且置顶,而且我又可以用window.parent.methodXX()回传值到父页面。
[b]问题补充:[/b]
感谢你们的回答。我的Top页面像论坛的那种,左边菜单,右下角是主显示区,所以不方便在Top页面写东西,而且B页面调用是的A页面的方法。
[b]问题补充:[/b]
window.parent.document.getElementsByTagName("iframe")['group_item_id'].contentWindow.setItemOrPage();
这种我是用过,可是非常的麻烦,当时是遇到什么问题了,所以放弃使用这种方式。
不过我注意到一种情况可以满足我的条件,就是把A页面内容搬到A父页面,这样A用普通的Ext.window({items:[A表单]})弹出,此时A上再按钮弹出B,满足B.parent是A,而且B不会显示在A窗口之内。。。不过这种要是A的内容多起来就不行了。