jsp页面打开子窗口 js
/* 自定义窗口 */ function newShowModalDialog(url, winName, width, height, screenX, screenY, ctrlStr) { // 控制参数处理 function getCtrlValue(ctrlStr, n) { var ctrlValue = ctrlStr.charAt(n); var pattern = /[1yY]/; if (ctrlValue == '' || !pattern.test(ctrlValue)) { ctrlValue = 'no'; // 默认不显示 } else { ctrlValue = 'yes'; } return ctrlValue; } // 默认窗口宽度 if (width == null || width == '') { width = 240; } // 默认窗口高度 if (height == null || height == '') { height = 320; } var aw = screen.availWidth - 30; // 屏幕可用宽度 var ah = screen.availHeight - 50; // 屏幕可用高度 // 默认窗口水平居中 if (screenX == null || screenX == '') { if (aw > width) { screenX = (aw - width)/2; } else { screenX = 0; } } else { if (aw <= width) { screenX = 0; } } // 默认窗口垂直居中 if (screenY == null || screenY == '') { if (ah > height) { screenY = (ah - height)/2; } else { screenY = 0; } } else { if (ah <= height) { screenY = 0; } } // 默认窗口尺寸不可调,无滚动条/菜单栏/工具栏/状态栏 if (ctrlStr == null || ctrlStr == '') { ctrlStr = 'nnnnn'; } var resize = getCtrlValue(ctrlStr, 0); // 窗口尺寸可调参数 var scrollbars = getCtrlValue(ctrlStr, 1); // 滚动条参数 var menubar = getCtrlValue(ctrlStr, 2); // 菜单栏参数 var toolbar = getCtrlValue(ctrlStr, 3); // 工具栏参数 var status = getCtrlValue(ctrlStr, 4); // 状态栏参数 var features = "dialogWidth:" + width+"px" + ",dialogHeight:" + height+"px" + ",dialogLeft:" + screenX+"px" // 窗口X坐标 for IE + ",dialogTop:" + screenY+"px" // 窗口Y坐标 for IE + ",dialogScreenX=" + screenX // 窗口X坐标 for Netscape + ",dialogScreenY=" + screenY // 窗口Y坐标 for Netscape + ",resizable=" + resize // 窗口尺寸可调参数 + ",scrollbars=" + scrollbars // 滚动条参数 + ",menubar=" + menubar // 菜单栏参数 + ",toolbar=" + toolbar // 工具栏参数 + ",status=" + status // 状态栏参数 + ""; var result= window.showModalDialog(url, winName, features); return result; }
父窗口调用:
var result= newShowModalDialog('node!list.action?nodeIds='+$("#nodeIds").val(), 'nodeIds', 600, 200, '', '', 'yynny'); //子窗口返回值 if (result != null && result != "") { $("#nodeIds").val(result); }
子窗口关闭:
//返回值 window.returnValue = nodeIdStr; window.close();