1、场景:layui父页面弹出子页面,关闭时需要提示是否关闭子页面,并且获取子页面的某 div 或者 input的value
js
父页面 layui弹窗实例
window.top.layer.open({ type : 2, title : '考试', shadeClose : false,//点击遮罩区域是否关闭页面 shade : 0.8, area : ['1030px', '650px'], content : sys_ctx + "/customized/hy/itembank/examdetailinfo.jsp?parentname="+window.name+"&maintain_id="+guid+"&answer_type=1&exam_duration="+exam_duration, end : function(layero, index) { if("1"!=$("#submitType").val()){ // 点击叉号删除记录 sys_ajaxPost("/webExamRecord/default.do?method=examRecordDel&recordGuid="+$("#recordGuid").val(), null, function(json) { }); } }, //要关闭的页面 cancel: function(index, layero){ var iframe=layero.find('iframe'); //获取子页面document对象 var docObj = iframe.length >= 1 ? iframe[0].contentDocument : null; //直接用 document对象获取id id区分大小写 var recordguid = docObj.getElementById("recordguid").value;//考试记录id var sytime = docObj.getElementById("syTime").innerText;//考试剩余时间 var str = ""; str+="&recordguid="+recordguid; str+="&sytime="+sytime; //只有当点击confirm框的确定时,该层才会关闭 if(confirm('考试正在进行,关闭后请到考试记录继续考试\n【意外:这可能导致考题记录丢失】\n确定要关闭吗?')){ sys_ajaxPost("/webExamRecord/default.do?method=examRecordDurationErr", str, function(json) { }); parent.layer.closeAll(); } return false;//取消 关闭 } });
2、效果: