模态窗口返回值给当前窗口页面

来源:互联网 发布:wifi共享大师for mac 编辑:程序博客网 时间:2024/06/06 16:46

今天项目中碰到一个问题,需要在当前窗口页面弹出模态窗口,提供选择框来选择相应的条件进行相应文件的导出。

于是需求模态窗口弹出后选择相应条件后将选择的参数返回到当前页面。尝试使用window.parent.docunment.getElpmentById

的方法获取当前页面的对象元素,结果无法获取。经思考后,因为是弹出的模态窗口,而不是采用Frame分块Jsp页面,所以

当前页面与弹出的模态窗口Jsp页面没有对应的父子关系。然后尝试使用window.dialogArguments想要获取当前页面的对象,

结果依然达不到要求。

由弹出模态窗口的方式window.showModalDialog()发现是一种变量,于是尝试使用window.returnValue的方式将参数返回,结果可以实现,问题得到解决。

代码片段如下:

当前页面弹出模态窗口的Js方法:

//导出前选择
function beforeExportFile2(){
//弹出模态窗口
var chooseWindow = new Object();
var result = window.showModalDialog(
"/jsp/cycx/cycx07/cycx07_dwcbygssbcymx_choose.jsp", chooseWindow,
"dialogHeight:200px,center:yes,status=no");//接收返回的参数
var dataType = $getById("dataType").value=result;
if(typeof(result)=="undefined"){
return;
}
}

模态窗口返回参数的js方法:

function submit(){
//参数:选择导出的数据类型
var flag = "";
var gszgxx = $getById("gszgxx");
var sbzgxx = $getById("sbzgxx");
var bxdzgxx = $getById("bxdzgxx");
if(gszgxx.checked==false&&sbzgxx.checked==false&&bxdzgxx.checked==false){
Css.Msg.alert("请选中至少一种数据!");
return;
}
if(gszgxx.checked==true){
flag+=gszgxx.value;
}
if(sbzgxx.checked==true){
flag+=sbzgxx.value;
}
if(bxdzgxx.checked==true){
flag+=bxdzgxx.value;
}
window.returnValue=flag;//返回参数
closeTab();
}



0 0
原创粉丝点击