主页面A.aspx:
- JScript code
Ext.create('Ext.container.Viewport', { layout: 'border', items: [panel, Grid], renderTo: Ext.getBody() });
panel有个按钮,调用window,加载页面B
页面B.aspx(demo,实际上是表单):
- JScript code
Ext.create('Ext.container.Viewport', { layout: "border", items: [ { id: "p_test", xtype: 'panel', title: "呵呵呵呵", html: "<a>1111111111111111111111111111111111</a>" } ], renderTo: 'form' [color=#FF0000]//这里有疑问,如果是form的话,不能完全填充,如果是body的话,跑A页面的body上了[/color] });
调用:
- JScript code
var winObj = Ext.create('Ext.window.Window', { id: "formWin", width: 500, height: 300, maximizable: true, modal: true, loader: { loadMask: { showMask: true, msg: "正在测试… Hold……" }, renderer: "html ", scripts: true, autoLoad: true, url: "B.aspx" }, title: "My First Extjs 4 window" }); winObj.show();
问题:
1,、B.aspx 页面 Viewport 的render问题。renderTo: 'form' 可能造成不能填充的问题,ext.getbody的话会跑到A的body里面
2、貌似以这种方法来调用的话,B页面的html会自动添加到A中,造成两个Viewport,有没有能避免的方法(添加一个iframe就算了,
虽然可行,但是慢,在ext3中就是这样实现的,4中修改了)
3、其他建议,实现类似效果:window加载一个url(表单)
注:以这种方式来实现的话,B页面是不能加载A页面已经加载的ext-all.js的,否则报错,原因瞅第二个问题
一次只能100分,明天再加,求解答,求交流,求指导。。。
------解决方案--------------------
坐等大牛。帮顶了!
------解决方案--------------------
ExtJS我也刚学 版本是2.2的 还没升级 估计帮不上忙 帮你顶帖了
------解决方案--------------------
建议,A和B两个页面放在一个页面,在使用的时候只不过是一个隐藏一个显示
------解决方案--------------------
建议你把简单代码弄到jsbin.com或者jscode.com上去,方便大家看到你的代码以及生成效果,然后才好帮你调试。
------解决方案--------------------
我用的是Ext3.2.1版本,和4.0版本有点不一样,仅供参考
问题1
在B页面上加一个div,加上id,B页面ViewPort renderTo到这个id上,这样B页面不会跑到A页面上去了
问题2
同问题1;以后render尽量用页面上的id来实现;
问题3
我有一个还算可以的页面加载方法,还可以吧,要的话联系我QQ389982128
------解决方案--------------------
我自己写的一个页面加载函数,不是用iframe实现
------解决方案--------------------