JavaScript showModalDialog 模态窗口传值完整示例
作者:像素漫游时间:2026-10-28 12:18:25浏览:105
本文详细介绍如何使用 JavaScript 的 showModalDialog 方法创建模态窗口,并实现父窗口与子窗口之间的双向数据传递。通过具体代码示例,演示如何传递对象参数、获取对话框返回值以及关闭子窗口,适用于需要模态交互的 Web 开发场景。
父窗口实现代码
parent.html
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>父窗口</title>
<script type="text/javascript">
window.onload=function(){
var btn=document.getElementById("btn");
btn.onclick=function(){
var obj={
test:"张三传到子窗口",
win:window
};
}; var returnValue = window.showModalDialog("child.html",obj,"dialogLeft:100px;dialogTop:100px;dialogWidth:400px;dialogHeight:300px;resizable:yes");
if(returnValue != null){
document.getElementById("content").innerHTML = returnValue;
}
};
}
}</script>
</head>
<body>
<div id="content" style="margin:50px;width:100px;height:150px;border:5px solid #0000ff;"></div>
<input type="button" id="btn" value="弹出子窗口">
</body>
</html> 子窗口实现代码
child.html
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>子窗口</title>
<script type="text/javascript">
window.onload=function(){
//获取url的传参
var args = window.dialogArguments;
var win = args.win;//父窗口对象
var content=document.getElementById("content");
content.value=args.test;
var btn=document.getElementById("btn");
btn.onclick=function(){
//模态对话框将值
window.returnValue = content.value;
window.close();
}
}
}</script>
</head>
<body>
<input type="text" id="content"><input type="button" id="btn" value="传值给父窗口">
</body>
</html>作者最新文章
D3.js 处理大规模数据点的性能优化策略
2026-11-05 15:37:25
JS实现网页摄像头实时扫码:结合getUserMedia与jsQR教程
2026-11-05 15:27:28
D3.js v5 迁移到 v7 的 API 变更与注意事项
2026-11-05 11:57:17
使用 animate.js 实现多元素协同的序列动画
2026-11-04 22:27:53
JS拖拽排序时怎么添加平滑动画效果?FLIP技术实战
2026-11-04 10:12:22
