artDialog是一个比较靓丽好用的插件 现在需要用art.dialog.open 打开一个网页(其实是一个选择人员页面),用户选择了人员后,点击art界面下方的按钮提交,获取选择的人员信息(需要通过JS获取得到)
遇到的问题就是该页面其实是一个frameset里面frame的内嵌页面,artdialog文档没有这块的说明。经过研究,红色关键代码:
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的方法访问到元素了
}
return true;
}
}, false);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 7 个最近很火的开源项目「GitHub 热点速览」
· DeepSeekV3:写代码很强了
· 博客园2025新款「AI繁忙」系列T恤上架
· 记一次 .NET某固高运动卡测试 卡慢分析
· Visual Studio 2022 v17.13新版发布:强化稳定性和安全,助力 .NET 开发提