Ext tabpanel直接加载另一个文件中的JS不通过加载页面来包含加载

H_yq 发布于 2012/08/21 13:50
阅读 2K+
收藏 0

刚学Ext不久,在做界面的时候,通过左边的树来激活中间的tabpanel的时候要求加载另一个formpanel,现在的代码虽然能达到效果,但是想请问有没方法不使加载JSP页面直接加载了其中的另一个JS文件,达到加载formpanel的效果

Ext.onReady(function() {

//事件

var openTab=function(node,e){

var cp=Ext.getCmp('centerPanel');

    var nodeId=node.attributes.id;

  if(!nodeId){

  Ext.Msg.alert('提示信息', '节点必须设置唯一的id');

  return;

  }

  var comp=cp.getComponent(nodeId);

  if(!comp){

  comp=new Ext.form.FormPanel({

  id:nodeId,

  closable:true,

  title:node.attributes.text||"",

  html:'<iframe width=100% height=100% src="template/form.jsp" />'//以iframe的形式

  /* autoLoad:{

  url:'template/form.jsp',

  scripts:true

  }*/

  });

  cp.add(comp);

  }

  cp.setActiveTab(comp);

  cp.scrollToTab(comp);

};

//导航栏节点

var tree1=new Ext.tree.TreePanel({

id:'tree1',

title:'标题1',

layout:'fit',

root:{

text:'标题1',

expanded:true,

leaf:false,

children:[

{id:'test1',

text:'标题1.1',

leaf:true},

{id:'test12',

text:'标题1.2',

leaf:true}

]

},

rootVisible:false,

width:200,

autoScroll:true,

split:true,

collapsible:true,

listeners:{

'click':openTab

}

});

var tree2=new Ext.tree.TreePanel({

id:'tree2',

title:'标题2',

layout:'fit',

root:{

text:'标题1',

expanded:true,

leaf:false,

children:[

{id:'test2',

text:'标题2.1',

leaf:true}

]

},

rootVisible:false,

width:200,

autoScroll:true,

split:true,

collapsible:true

});

//页眉

var northPanel=new Ext.Panel({

id:'northpanel',

region:'north',

height:80,

split: true,

layout:'fit',

html:'<font color="red">这里放上你的Logo图片吧!</font>',

defaults:{

border:false

}

});

//左侧导航栏

var westPanel=new Ext.Panel({

title:'导航',

id:'westPanel',

region:'west',

collapsible:true,

layout:'accordion',

split: true,

width:200,

defaults:{

border:false

},

items:[tree1,tree2

]

});

//首页

var main=new Ext.Panel({

id:'main',

title:'首页',

html:"Hello_World"

})

var centerPanel=new Ext.TabPanel({

id:'centerPanel',

region:'center',

enableTabScroll: true,

split: true,

defaults:{

border:false

},

items:[main],

activeTab:main

});

var southPanel = new Ext.Panel({

id:'southPanel',

        title: '公司描述',   

        region: 'south',   

        height:25, 

        enableTabScroll: true,

split: true,

defaults:{

border:false

}

    });  

var vp=new Ext.Viewport({

layout:'border',

items:[northPanel,westPanel,centerPanel,southPanel]

});

})


加载中
0
徐林
徐林
曾经使用过Loader加载的方式,有不少的问题,比如变量名。后来改成iframe了,建议使用iframe,代码清晰。
返回顶部
顶部