如何用ext实现点击按钮刷新已打开页面的功能?

qq1212 2009-09-03 06:21:07
用ExtJs实现:

A.jsp是一个tabPanel,通过它每次生成一个新的iframe,B.jsp是A中的iframe,通过点击B中的“显示”按钮弹出C.jsp标签,这个C也是由A生成的iframe,就是说B、C是兄弟都是A生成的iframe。

若在没有关闭C页面前提下再次点击B的“显示”按钮实现B页面整个刷新并自动切换到B页面 如何实现??
只要能实现以上功能就可以,不一定要来修正我这个错误代码。

B.jsp中的代码:

var tabPanel = window.parent.tabs;//获取A页面中的tabPanel
var np = tabPanel.getComponent(id);//要刷新的C对应的标签

if(!np){//若第一次点击则新建
tabPanel.add({
id: id,
title: name,
html: '<iframe scrolling="auto" frameborder="0" src = "'+ url + '" height="100%" width="100%"></iframe>',
closable: true
}).show();
}
else{//第二次点击则刷新
var frmid = tabPanel.items.indexOf(np);//C标签的下标索引

tabPanel.frames[frmid].location.reload();//问题出在这句
np.show();
}


第二次点击时报错提示“frames为空或不为对象”,可是这个iframe明明已经存在了啊?为什么?请指教!
...全文
458 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq1212 2009-09-03
  • 打赏
  • 举报
回复
受教了 看来要学的还有好多啊
hookee 2009-09-03
  • 打赏
  • 举报
回复
tabPanel是ext的控件, frmaes是window对象的集合属性,不是属于tabPanel对象的.
qq1212 2009-09-03
  • 打赏
  • 举报
回复
居然就这么解决了 太厉害了 请教 为什么这里不用tabPanel而用parent,iframe不是在tabPanel中吗??
hookee 2009-09-03
  • 打赏
  • 举报
回复
改成 parent.frames[frmid].location.reload(); 试试看

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧