继了解了上篇文章(http://blog.youkuaiyun.com/tegwy/article/details/7735814)后对以前showModalDialog脚本做相关改进。
父页面
if(window.ActiveXObject){ //IE
$("#choose_entp").click(function(){
var returnValue = window.showModalDialog("SelectEntpInfo.do?mod_code=${af.map.mod_code}&xxx=" + Math.random(), window, "dialogWidth:630px;status:no;dialogHeight:440px");
if(returnValue != null ){
setValue(returnValue.id,returnValue.name);
}
});
}else{ //非IE
$("#choose_entp").click(function(){
window.open("SelectEntpInfo.do?mod_code=${af.map.mod_code}&xxx=" + Math.random(), 'newwindow','height=440,width=630,top=150,left=300,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no');
});
}
function setValue(id,name){
$("#entp_id").val(id);
$("#entp_name").val(name);
}
子页面处理:
function getReturnValue(select_id,select_name){
if(window.ActiveXObject){ //IE
window.returnValue = {
id : select_id,
name : select_name
} ;
window.close();
}else{ //非IE
if(window.opener) {
window.opener.setValue(select_id,select_name) ;
}
window.close();
}
}
试了下,貌似以前翻页父窗口引用的问题也解决了。比之前( http://blog.youkuaiyun.com/tegwy/article/details/4139785)用的方法要方便些。