ExtJs:如何从a.js获得b.js的tabpanel元素

如题,急求做毕设.

你这是一个页面包含IFRAME页面啊....

那就得这样掉了

parent.Ext.getCmp("tab")

在一个页面同时引入两个js 被引用的放在前面 就可以获取到 tabpanel 元素 前提是 那个tabpanle不能放到局部范围内
要作为全局变量 才可以访问的到

给这个Tabpanel设定一个ID

像 {id:'tabpanel'}

然后另一个JS可以通过 Ext.getCmp('tabpanel')拿到所要的组件了.

再有就是注意顺序

是先执行
gui.html 代码
再执行

Order-Input.jsp 代码吗?

代码 都各自放到ONREADY里了吗?

不可以都放到onready里面 那样的话 就相当于局部变量了 把要共享的变量 放到onready外面 试试

执行这个的时候parent.Ext.getCmp("tab")报什么错?还是说返回的依然是空?

给你写了一个小例子
b.js文件
Ext.onReady(function(){
var panel = new Ext.Panel({
title:'b.html',
width:200,
height:100,
buttons:[{
text:'获取A.html的变量',
handler:function(){
alert(window.parent.numberA);
}
}]
})

panel.render(Ext.getBody())

})
a.js文件
var numberA = 100;
Ext.onReady(function(){
var panel = new Ext.Panel({
title:"a.html",
width:300,
height:300,
html : ''
})
panel.render(Ext.getBody())
})

通过iframe引进来 window.parent.numberA 来获得父窗口对象