左边是一个树,右边是一个TabPanel,
点击树节点,TabPanel出一个页面,页面是指向另一个jsp的:
html : '<iframe id="'
+ node.id
+ '" src="'
+ path
+ '" height="100%" width="100%" frameborder="0" scrolling="auto"></iframe>'
也就是说我又3个jsp 文件,一个主页面,2个叶子页面的jsp 
 现在要在第一个tab页里面,点击链接打开到第二个tab页,
,我怎么打开第二个tab页

解决方案 »

  1.   

    给<iframe >标签里写个id属性。然后在第一个tab页页面上用
     parent.Ext.get('你写的id').src="第二个tab页指向的jsp页面" 
    就是先得到你iframe 然后改变iframe的src指向
      

  2.   

    我觉得我要获取主jsp里面的tabpanel ,然后给他tabs.add(new Ext.Panel({
      

  3.   

    父子之间的ifame  在子页面可以 parent.document.getElementById("父页面控件的ID")..得到一个对象ext切换tab页面 下面的tabs是tabPanel对象
    tabs.setActiveTab(“可以是控件可以是id”);不存在就新建一个
    panel = new Ext.Panel({
    title : node.attributes.re,
    html : '<iframe src="' + path + '" style="width: 100%; height: 100%; border-top: solid 1px #D1E7F8;" frameborder="0" id=iframe' + node.id + '></iframe>',
    closable : true,
    id : tabId
    });
      

  4.   

    parent.document.getElementById得到的不是extjs的控件,是html控件
    parent.Ext.getCmp(ID);可以得到父页面的tabs控件,
    但是为啥新增的tab页,会导致我说有的页面不能内容都没了?
      

  5.   

    if (!tab) {
    tab = parent.Ext.getCmp('tabs').add(new Ext.Panel({
    id : 't_orders',
    title : '客户信息',
    layout : 'fit',
    html : '<iframe id="t_orders" src="'
    + basePath
    + 'eting/customerItem.jsp" height="100%" width="100%" frameborder="0" scrolling="auto"></iframe>',
    closable : true
    }));
    // parent.Ext.getCmp('tabs').add(tab);
    parent.Ext.getCmp('tabs').setActiveTab(tab);
    } else
    parent.Ext.getCmp('tabs').setActiveTab(tab);

    为啥我点开一个tab页面,但是他把tabs内容全覆盖掉了,只留下tabs上面的标签,蛋疼,各种疼
      

  6.   

    解决了
    1,如果用parent.Ext.getCmp('tabs').,可以获得控件,但添加tab时不会添加div,我们获得的是个假的
    2,parent.document.getElementById获取过来的根本不能用ext里面的方法添加tab
    3,其实很简单,把父页面的做成全局的,但是要防止一些浏览器有问题,不要放在readoley里面,window.parent.addtab(参数,)既可以调用到父页面里面的方法,
      

  7.   

     哈哈 有理  多试试 。, 有时间多交流交流 我用的是 ext3的 QQ 857166768