- 注册时间
- 2013-8-23
- 最后登录
- 2015-7-22
- 阅读权限
- 10
- 积分
- 162
- 精华
- 0
- 帖子
- 20
|
场景:顶层窗口打开的tab页中有个启用单元格编辑grid,想要在关闭tab页时判断是否有未保存的数据。我目前的代码如下:
顶层窗口:
tabs.on("beforecloseclick", function (e) {
var sender = e.sender;
var iframe = tabs.getTabIFrameEl(e.tab);
if (iframe != undefined) {
var cWin = iframe.contentWindow;
var grid = cWin.grid;
grid.setCurrentCell(null);//结束当前单元格编辑
if (grid != undefined) {
var data = grid.getChanges();
if (data.length > 0) {
e.cancel = true;
var tab = e.tab;
mini.showMessageBox({
title: tab.title,
iconCls: "mini-messagebox-question",
buttons: ["yes", "no", "cancel"],
message: "有尚未保存的更改,是否保存?",
callback: function (action) {
switch (action) {
case "yes":
cWin.saveStraight(data);//ajax出错
sender.removeTab(tab);
case "no":
sender.removeTab(tab);
case "cancel":
return;
}
}
});
}
}
}
});
问题1:grid.setCurrentCell(null);没有作用,是用法不对么
问题2:cWin.saveStraight(data);我的本意是调用tab页的ajax来保存数据,但是chrome下,ajax会出错,xhr的readyState为0,reponseStatus也为0(然而数据其实是保存进去了)。ie10出错
问题3:把saveStraight(data);放到顶层窗口,ajax出错,数据不能保存
ps:在页面本身调用该ajax来保存数据是没用问题的
|
|