iteye_13982
2009-05-03 22:18
浏览 569

Ext的Panel中用load()动态加载一页面,如何访问这个页面的元素

示例代码:

var panel = new Ext.Panel({
id:id,
title: title,
iconCls: 'tabs',
collapsible:true,
closable:true
});
panel.load({
url: url,
discardUrl: false,
nocache: false,
timeout: 30,
scripts: true
});

这个被访问的url中,返回结果包含一FormaPanel:

var formPanel = new Ext.FormPanel({
id:'form_id_123',
title: 'title',
iconCls: 'tabs',
collapsible:true,
closable:true,
html:'test abc'
});

现在的问题是,如从从panel中找到这个新加载出来的panel?
试过
Ext.get('form_id_123')
panel.findByType('form')
panel.findById('form_id_123')
都找不到。。。要用哪一个函数去找呢?
(注: 界面显示是正常的,我用panel.getEl().dom.innerHTML的确可以看到相关的html内容)
[b]问题补充:[/b]
我的问题不在如何显示与加载上面, 而是在, 如何找到这个新加载的页面中的元素。

这个‘form_id_123’是新出现的一个FormPanel, 在加载这个页面前我是不知道这个对象的引用的, 在加载了这个页面后, 我怎么才能找到这个FormPanel呢。

当前已知的变量只有:"var panel"这个初始panel。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • zhoujuan520 2009-05-04 00:31
    已采纳

    [quote]试过
    Ext.get('form_id_123')
    panel.findByType('form')
    panel.findById('form_id_123')
    都找不到。。。[/quote]
    Ext.getCmp('form_id_123');//可以找到

    点赞 评论
  • zhoujuan520 2009-05-03 22:49

    welcome.html
    [code="html"]

    var formPanel = new Ext.FormPanel({ id:'form_id_123', title: 'title', iconCls: 'tabs', collapsible:true, closable:true, html:'test abc', renderTo:'welcome'//注意你要渲染才能显示 });

    [/code]
    [code="js"]var panel = new Ext.Panel({
    id:id,
    title: title,
    iconCls: 'tabs',
    collapsible:true,
    closable:true,
    renderTo:document.body
    });
    panel.load({
    url: 'welcome.html',
    discardUrl: false,
    nocache: false,
    timeout: 30,
    scripts: true
    }); [/code]

    点赞 评论
  • zhoujuan520 2009-05-03 22:51

    var panel = new Ext.Panel({
    id:id,
    title: title,
    iconCls: 'tabs',
    collapsible:true,
    closable:true,
    renderTo:document.body,
    autoLoad : {//也可以这样写
    url: 'welcome.html',
    discardUrl: false,
    nocache: false,
    timeout: 30,
    scripts: true
    }
    });

    点赞 评论
  • zhoujuan520 2009-05-03 22:52

    [code="js"]var panel = new Ext.Panel({
    id:id,
    title: title,
    iconCls: 'tabs',
    collapsible:true,
    closable:true,
    renderTo:document.body,
    autoLoad : {//也可以这样写
    url: 'welcome.html',
    discardUrl: false,
    nocache: false,
    timeout: 30,
    scripts: true
    }
    }); [/code]

    忘记加到代码块了

    点赞 评论
  • kc_ren 2009-05-04 12:26

    Ext.getCmp

    点赞 评论

相关推荐 更多相似问题