showModalDialog 模态对话框

原创 2013年12月04日 09:48:32

通过父窗口打开子窗口

<html>
	<head>
	<TITLE>模态对话框</TITLE> 
	<script language=javaScript>
	function openDialog(){
		var obj = {"name":"huangbiao"};
var result = window.showModalDialog("email.html",obj,"dialogHeight:200px;dialogWidth:200px;edge:sunken");
		alert("您传递的参数为:" + result) 
	}
	</script>
	<body>
		<button id="dialog" onclick="openDialog()">打开对话框</button>
	</body>
</html>

 

 

子窗口的代码

<html>
<head>
<TITLE>子窗口</TITLE> 
<base target="_self">
<script language=javaScript>
//得到父窗口传递过来的参数
var abc = window.dialogArguments;
alert(abc.name);
//传递给父窗口的参数值
window.returnValue = "biaobiao";

function closeWindow(){
	window.close();
}
</script>
<link rel="stylesheet" href="../style.css"></head>
<body>
<div>
	<form>
		收件人:<input type="text">
		主题:<input type="text">
		内容:<textarea></textarea>
	</form>
	<a href="http://www.cnblogs.com/hynxy0115/archive/2009/03/18/1415654.html">href</a>
	<input type="button" onclick="closeWindow()" value="关闭窗口"/>
</div>
</body>
</html>

 一、showModalDialog和showModelessDialog有什么不同?
  showModalDialog:被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换到主窗口。类似alert的运行效果。
  showModelessDialog:被打开后,用户可以随机切换输入焦点。对主窗口没有任何影响
备注:如果是想得到模态对话框返回过来的参数值,就要使用showModalDialog等待返回的结果,如果使用另外一个则不会等待结果直接向下运行,这样容易引起逻辑错误

 

二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?
  在被打开的网页里加上<base target="_self">就可以了。这句话一般是放在<html>和<body>之间的。

 

三、怎样才刷新showModalDialog和showModelessDialog里的内容?
  在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能弹出菜单。这个只能依靠javascript了,以下是相关代码:

 <body onkeydown="if (event.keyCode==116){reload.click()}">
 <a id="reload" href="filename.htm" style="display:none">reload...</a>

 将filename.htm替换成网页的名字然后将它放到你打开的网页里,按F5就可以刷新了,注意,这个要配合<base target="_self">使用,不然你按下F5会弹出新窗口的。

 

四、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。
  <input type="button" value="关闭" onclick="window.close()">
  也要配合<base target="_self">,不然会打开一个新的IE窗口,然后再关掉的。

showModalDialog 下载文件问题 (如导出excel)

showDialog里好像不能用href,只能用onclick 最近在项目中经常用到模态窗口(showModalDialog),客户需要在一个模态窗口中有"生成Excel报表"并"导出"的功能。接到...
  • miaoshaohoa
  • miaoshaohoa
  • 2013年03月15日 14:27
  • 1510

showModalDialog的title问题,去掉网页对话框

转自:http://blog.163.com/xiaosanshaoli@126/blog/static/2979216320094268190609/ 项目中用到了模态窗口: /*用途...
  • kaidishi
  • kaidishi
  • 2013年08月03日 11:42
  • 2540

javascript showModalDialog模态对话框使用说明

1. 标准的方法  复制代码代码如下:   function openWin(src, width, height, showScroll){  window.showModalD...
  • u012767263
  • u012767263
  • 2014年01月20日 18:12
  • 540

模态对话框和非模态对话框区别

MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。  一、模态对话框(model dialog box) ...
  • u013776188
  • u013776188
  • 2017年07月12日 11:47
  • 179

在showModalDialog中使用post方法传递参数

在showModalDialog中使用post方法传递参数
  • shrenk
  • shrenk
  • 2014年02月15日 19:10
  • 3966

MFC模态对话框与非模态对话框的区别

对话框主要分为两个类型:模式对话框和非模式对话框。 1、模式对话框的特点是: a)在关闭模式对话框前,无法操作背景窗口,除非自身就是主窗口; b)使用CDialog::DoModal函数弹出模式...
  • djb100316878
  • djb100316878
  • 2014年12月30日 16:40
  • 2044

模态对话框与非模态对话的几种销毁方法与区别

模态对话框与非模态对话的几种销毁方法与区别  先着一个注意点,自己误识了好久: CloseWindow是一个函数,可以用来最小化指定的窗口,但并不销毁该窗口。 先说下模式对话框调用的原...
  • rankun1
  • rankun1
  • 2016年05月26日 16:00
  • 2163

模态窗口 - showModalDialog打开窗口中获取父窗口js方法

1.父窗口操作子窗口父窗口JS代码:var parValue="现在显示了父窗口中的变量值";var hao="郝建卫"; function ShowDailog(PageHref,Title,Hei...
  • kida_yuan
  • kida_yuan
  • 2016年02月01日 09:54
  • 2709

c#中的模态对话框和非模态对话框

模态对话框 弹出窗口阻止调用窗口的所有消息响应。 只有在弹出窗口结束后调用窗口才能继续。 在模态窗口“关闭”后,可以读取模态窗口中信息,包括窗口的返回状态,窗口子控件的值。 非模态对话框 可...
  • c914620529
  • c914620529
  • 2015年08月05日 21:50
  • 5180

JS中ShowModalDialog(模态窗口)详细使用

基本介绍:           showModalDialog()         (IE 4+ 支持)           showModelessDialog()      (IE 5+ 支持...
  • tuobayi
  • tuobayi
  • 2016年12月23日 09:32
  • 8092
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:showModalDialog 模态对话框
举报原因:
原因补充:

(最多只允许输入30个字)