showModalDialog的一个实例

test.html页面通过函数调用showModalDialog,显示show_modal_dialog.html页面,并向show_modal_dialog.html传递参数。

在show_modal_dialog.html页面通过dialogArguments或者opener获取函数传递过来的参数。

test.html内容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>testing page</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<script>
    function showDialog() 
    {
        showModalDialog("show_modal_dialog.html",
                ["Enter 3D point coordinates", "x", "y", "z"],
                "dialogwidth: 400; dialogheight: 300; resiable: yes");
    }
</script>
</head>

<body>
<a href="show_modal_dialog.html">Show Modal Dialog</a>
<button οnclick="showDialog()">Show Dialog</button>
</body>
</html>

show_modal_dialog.html内容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Window method showModalDialog() Testing</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
</title>
<body>
<form>
	<fieldset id="fields"></fieldset>
	<div style="text-align:center">
		<button οnclick="okay()">Okay</button>
		<button οnclick="cancel()">Cancel</button>
	</div>
	<script>
		if (window.dialogArguments)
			var args = window.dialogArguments; // IE
		else
			var args = window.opener; // FF or Chrome
		var text = "<legend>" + args[0] + "</legend>";
		for (var i = 1; i < args.length; i++)
			text += "<lable>" + args[i] + ": <input id='f" + i + "'></lable><br/>";
		document.getElementById("fields").innerHTML = text;
		function cancel() { window.close(); }
		function okay() {
			window.returnValue = [];
			for (var i = 1; i < args.length; i++)
				window.returnValue[i-1] = document.getElementById("f" + i).value;
			window.close();
		}
	</script>
</form>
</body>
</html>

两个页面要通过Web服务器的方式访问,才能满足same-origin,页面运行的效果如下:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值