弹出的模态窗口如何访问父窗口的变量?

 我来答
圉承挀
2013-11-02 · TA获得超过148个赞
知道答主
回答量:118
采纳率:100%
帮助的人:125万
展开全部
场景描述:父页面有个列表,选中一行就弹出一个模态窗口,根据不同的操作,父页面将刚点过的行的按钮变灰。 父页面: var clearData; var tmpControllerId; //用于存储当前点击的行号 // 弹出明细窗口 function ShowDetail(url, id) { var title = "工时审批"; var reValue = ShowWindow(url, 1000, 700, 0, title); //弹出模态窗口 // 去掉变灰功能 tmpControllerId = id; } .... //隐藏域用于保存之前选中的行 var idS = document.getElementById("hidCheckBoxId").value; // clearData 没定义或为false表示审批未通过,就不用变灰 if (clearData == undefined || !clearData) { idS = idS.replace(tmpControllerId, ""); idS = idS.substr(0, idS.length - 1); } if (idS != undefined && idS != "") { var arrId = idS.split(';'); for(var i = 0; i < arrId.length; i++) { if (arrId[i] == "") { continue; } var objBox = document.getElementById(arrId[i]); objBox.disabled = "disabled"; var objBtnId = arrId[i].replace("chkSelect", "lbtnApprove") var objBtn = document.getElementById(objBtnId); objBtn.disabled = "disabled"; objBtn.onclick = function() { return false; } } } document.getElementById("hidCheckBoxId").value = idS; 子页面: function ControlParentController(result) { window.dialogArguments[2].clearData = result; } ... 子页面根据用户不同的操作,就给父页面的clearData 赋值,父页面在根据clearData 的值决定是否需要将刚选的行的按钮变灰。 弹出模态窗口的方法:// 参数分别为:文件URL, 宽度, 高度, 是否有滚动条(还可以改变大写) // 此函数解决了模式对话框中打开的窗口提交时弹出新页面的问题,使用到了ModelDialogFrame.htm文件 function ShowWindow(szUrl,iWidth,iHeight,bScroll, szTitle){ if (iWidth == null) iWidth = 0.95; if (iHeight == null) iHeight = 0.7; var width,height; if (iWidth>1) { width = iWidth; height = iHeight; } else { width = screen.availWidth * iWidth; height = screen.availHeight * iHeight; } var feature = "dialogHeight: " + height + "px; dialogWidth: " + width + "px; dialogTop: px; dialogLeft: px; edge: Sunken; center: Yes; help: No; scroll:auto;"; if (bScroll == 1 ) { feature += "resizable: Yes; status: Yes;"; } else { feature += "resizable: No; status: No;"; } var r = Math.random() + Math.random(); var frameUrl = "/WorkCost/js/ModalDialogFrame.htm?r=" + r; var args = new Array(szUrl, szTitle, window); return window.showModalDialog(frameUrl, args, feature); } ModelDialogFrame.htm 源码: 来源: 博客园 作者:西北老狼
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式