artDialog是一个比较靓丽好用的插件 如今须要用art.dialog.open 打开一个网页(实际上是一个选择人员页面),用户选择了人员后,点击art界面下方的按钮提交,获取选择的人员信息(须要经过JS获取获得)this
遇到的问题就是该页面实际上是一个frameset里面frame的内嵌页面,artdialog文档没有这块的说明。通过研究,红色关键代码:spa
art.dialog.open('../CommDialog/SelectDialog.aspx?DialogType=User',
{
width: 850,
height: 550,
title: '请选择一我的员,选择完毕后点击最下方的[提交选择]按钮',
lock: true,
okVal:'提交选择',
ok: function () {
var iframe = this.iframe.contentWindow;
if (!iframe.document.body) {
alert('人员选择页面还未加载完毕')
return false;
};插件
var subFrame = iframe.frames["myframe"]; //iframe是父页面弹出层的iframe,而后打开的页面是一个frameset 经过frames属性找到对应的frame
var doc = subFrame.document || subFrame.contentDocument || subFrame.contentWindow.document; //兼容IE和CHROME
var gvObj = doc.getElementById("gvUserInfo"); //经过doc的方法访问到元素了文档
}get
return true;
}
}, false);iframe