项目需要使用它进行跨页面传值。下面是调用父页面打开子窗口。重要的是这一句【 iframe.contentWindow.grid.getSelected();】子窗口中有一个grid对象。获取该对象已经选择的行记录。
注意【ondestroy:】对应的是子窗口关闭时调用的对象。所以在子窗口关闭时,要调用下列的方法。这个方法存在于子窗口之中的。
function Choise() {
CloseWindow("ok");
}
function closeWindow(action) {
if (window.CloseOwnerWindow)
return window.CloseOwnerWindow(action);
else
window.close();
}
下面的方法是存在于父窗口中的。
function onButtonEdit(e) {
var options = {
// targetWindow: window, //页面对象。默认是顶级页面。
url: "/UserInfo/CompanyUsersSel.aspx", //页面地址
title: "选择微信ID", //标题
//iconCls: String, //标题图标
width: 560, //宽度
height: 320, //高度
allowResize: true, //允许尺寸调节
allowDrag: true, //允许拖拽位置
showCloseButton: true, //显示关闭按钮
showMaxButton: false, //显示最大化按钮
showModal: true, //显示遮罩
loadOnRefresh: false, //true每次刷新都激发onload事件
onload: function () { //弹出页面加载完成
var iframe = this.getIFrameEl();
var data = {};
//调用弹出页面方法进行初始化
//iframe.contentWindow.SetData(data);
},
ondestroy: function (action) { //弹出页面关闭前
console.log(action);
if (action == "ok") { //如果点击“确定”
var iframe = this.getIFrameEl();
//获取选中、编辑的结果
var data = iframe.contentWindow.grid.getSelected();
data = mini.clone(data); //必须。克隆数据。
console.log(data);
mini.get("CompanyUserId").setValue(data.UserId);
mini.get("CompanyUserId").setText(data.UserName);
}
}
};
mini.open(options);
}