`
ihyperwin
  • 浏览: 434592 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

window.showModalDialog刷新父窗口 父子窗口之间传值 问题

 
阅读更多
第一个问题:刷新父窗口(没有传值操作)  
 
父页面打开时一定要传window参数  
openModalDialog("son.html",window,800,600);  
子页面中刷新:  
window.dialogArguments.location="parent.html";//parent.html是父页面的地址  
 
实例:  
parent.html  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> </TITLE> 
<mce:script type="text/javascript"><!--  
function openModalDialog(url,name,iWidth,iHeight)  
{   
window.showModalDialog(url,name,'edge: Raised; center: Yes; help: Yes; resizable: Yes; status: No;dialogHeight:'+iHeight+'px;dialogWidth:'+iWidth+'px');  
}  
function show(){  
openModalDialog("son.html",window,800,600);  
 
}  
// --></mce:script> 
</HEAD> 
 
<BODY> 
<input type="button" value="open" onclick="show()"> 
</BODY> 
</HTML> 
 
son.html  
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> New Document </TITLE> 
<mce:script type="text/javascript"><!--  
function aa(){  
self.close();  
window.dialogArguments.location="parent.html";  
 
}  
// --></mce:script> 
</HEAD> 
 
<BODY> 
ssssssssssssssssssssssssssssssssss  
<input type="button" value="close" onclick="aa()"> 
</BODY> 
</HTML> 
 
=================================  
第二个问题:只传值不刷新  
parent2.html  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<mce:script type="text/javascript"><!--  
function show(){  
var params = new Array();  
params[0] = "00000000000";  
params[1] ="1111111111";  
params[2]="22222222222";  
var style = "dialogHeight:600px;dialogWidth:800px;status:no";  
window.showModalDialog("son2.html",params, style);  
 
}  
// --></mce:script> 
</HEAD> 
 
<BODY> 
<input type="button" value="open" onclick="show()"> 
aaaaaaaaaaaaaaaaaanfddddaas  
<input type="text"> 
</BODY> 
</HTML> 
 
son2.html  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> New Document </TITLE> 
<mce:script type="text/javascript"><!--  
var l_array=new Array();  
l_array=window.dialogArguments;  
var aa=l_array[0];  
var bb=l_array[1];  
var cc=l_array[2];  
alert(aa);  
alert(bb);  
alert(cc);  
// --></mce:script> 
</HEAD> 
 
<BODY> 
ssssssssssssssssssssssssssssssssss  
</BODY> 
</HTML> 
第三个问题:传值+刷新父窗口  
 
father.html  
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">     
<HTML>     
<HEAD>     
<TITLE>传值+刷新父窗口 </TITLE>     
<mce:script   language="javascript"><!--  
     
function openson(){     
var obj = new Object();     
obj.name="张三";   
obj.address="中国北京市";  
var k =window.showModalDialog("child.html",obj,"dialogWidth:800px;dialogHeight:600p;status:no;");     
if(k.type==""){ //传递回的type为空的时候才刷新页面。   
   alert("刷新了"); //为了看效果加的,实际运用中请注掉   
   location.reload();     
}     
}     
// --></mce:script>     
</HEAD>     
      
<BODY>     
<input type="button" value="打开子窗口" onclick="openson()">     
</BODY>     
</HTML>   
 
child.html  
 
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">     
<HTML>     
<HEAD>     
<TITLE></TITLE>     
<mce:script for="window" event="onload"><!--  
     
var s = new Object();  
s.type="";     
window.returnValue=s;  
 
var k=window.dialogArguments;   
alert(k.name); //使用传递过来的nanme "张三“;     
alert(k.address); //使用传递过来的address "中国北京市“;   
// --></mce:script>     
<mce:script type="text/javascript"><!--  
    
 
 
function doRefresh(){     
var s=new Object();     
s.type="";//设置返回值。//这里返回刷新父页面。     
window.returnValue=s;     
window.close();     
}  
 
function doNotRefresh(){     
var s=new Object();     
s.type="OK";//设置返回值,值随便写,不为空就可以。//这里返回不刷新父页面。     
window.returnValue=s;     
window.close();     
}     
// --></mce:script> 
</HEAD>     
<BODY>     
<input type="button" value="返回刷新" onclick="doRefresh()">   
   <input type="button" value="返回不刷新" onclick="doNotRefresh()">   
</BODY>     
</HTML>     
     
第四个 传值+刷新的实际应用  
 
parent3.html  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<title>传值+刷新</title> 
<mce:script type="text/javascript"><!--  
function show(){  
var params = new Array();  
params[0] = "00000000000";  
params[1] ="1111111111";  
params[2]="22222222222";  
var style = "dialogHeight:600px;dialogWidth:800px;status:no";  
var k=window.showModalDialog("son3.html",params, style);  
if(k.type==""){ //传递回的type为空的时候才刷新页面。  
alert("刷新我了");  
location.reload();     
}  
 
}  
// --></mce:script> 
</HEAD> 
 
<BODY> 
<input type="button" value="open" onclick="show()"> 
aaaaaaaaaaaaaaaaaanfddddaas  
<input type="text"> 
</BODY> 
</HTML> 
 
son3.html  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE> New Document </TITLE> 
<mce:script type="text/javascript"><!--  
var s = new Object();  
s.type="";   //设为空就可以刷新父窗口  
window.returnValue=s;   
 
 
var l_array=new Array();  
l_array=window.dialogArguments;  
var aa=l_array[0];  
var bb=l_array[1];  
var cc=l_array[2];  
alert(aa);  
alert(bb);  
alert(cc);  
 
function closeWindow(){  
window.close();  
}  
 
function doNotRefresh(){     
var s=new Object();     
s.type="OK";//设置返回值,值随便写,不为空就可以。//这里返回不刷新父页面。     
window.returnValue=s;     
window.close();     
}   
// --></mce:script> 
</HEAD> 
 
<BODY> 
sdafsdfafasdf<br> 
<input type="button" value="closeAndRefresh" onClick="closeWindow()" /> 
    <input type="button" value="closeAndRefresh" onClick="doNotRefresh()" /> 
</BODY> 
</HTML> 
分享到:
评论

相关推荐

    window.showModalDialog模式对话框和 window.open的区别

    与`showModalDialog`不同,`window.open`创建的窗口是非模态的,用户可以在新窗口和原窗口之间自由切换。 `window.open`的主要用途是创建新的浏览器窗口或标签页,通常用于链接或表单提交的重定向。它也支持返回一...

    google不支持window.showModalDialog问题解决方案

    This is a `window.showModalDialog()` shim using a modal HTML5 `&lt;dialog&gt;` element and ECMAScript 6 Generators. It was tested in the latest Google Chrome with the *Enable Experimental JavaScript* flag ...

    window.showModalDialog以及window.open用法简介

    Window.showModalDialog 和 Window.open 都是 JavaScript 中的方法,用于创建新窗口或对话框,下面分别介绍它们的用法和参数。 一、Window.open() 方法 Window.open() 方法用于打开一个新的浏览器窗口,可以指定新...

    针对window.showmodaldialog弹出窗体无刷新的详细使用

    在网页开发中,`window.showModalDialog` 是一个古老的 API,用于创建模态对话框,它可以在不刷新页面的情况下与用户交互。这个方法在现代Web开发中已经逐渐被`&lt;dialog&gt;`元素或JavaScript库如jQuery UI、Bootstrap ...

    关于struts2里用javascript刷新window.showModalDialog的父页面

    其中一个常见的场景就是通过`window.showModalDialog`方法打开一个新窗口,并在完成某些操作后刷新父页面。本文将详细介绍如何在Struts2项目中实现这一功能。 #### Struts2简介 Struts2是基于MVC设计模式的一个...

    父子窗口传值window.showModalDialog以及window.open用法简介

    window.showModalDialog以及window.open用法简介

    Window.ShowModalDialog使用手册

    在JavaScript编程语言中,`Window.showModalDialog()`方法是一个非常重要的功能,主要用于打开一个模态对话框,即用户必须关闭对话框才能与父窗口进行交互。这个方法在创建用户交互和自定义弹出窗口场景中非常有用。...

    JS 弹出对话框window.showModalDialog()

    `window.showModalDialog()` 函数返回一个值,这个值是通过调用新窗口中的 `window.returnValue` 设置的。如果新窗口被关闭且 `window.returnValue` 被设置,则会将该值作为 `showModalDialog` 函数的返回值。 以下...

    解决window.showModalDialog跨域返回值

    在JavaScript中,`window.showModalDialog`是一个古老但仍然有用的函数,用于打开一个模态对话框,用户在对话框中进行交互,直到关闭对话框为止。然而,当涉及到跨域时,`showModalDialog`面临一个问题:它无法正确...

    window.showModalDialog方法的使用

    在JavaScript编程中,`window.showModalDialog`是一个用于打开模态对话框的函数,它能够创建一个新的浏览器窗口或者在当前窗口内显示一个弹出层,阻止用户与父窗口的交互,直到用户关闭对话框为止。这个方法在创建...

    window.showModalDialog(javascript)

    【window.showModalDialog() 方法详解】 在Web开发中,JavaScript提供了两种对话框方式来与用户交互,即模态对话框和非模态对话框。本文将重点介绍模态对话框的使用方法`window.showModalDialog()`。 模态对话框是...

    window.showModalDialog的基本用法

    ### window.showModalDialog 的基本用法 `window.showModalDialog` 是一个早期的浏览器功能,主要在 Internet Explorer(IE)4.0 及以上版本中支持。它用于打开一个新的模态对话框窗口,并且该窗口将阻止用户与主...

    showModalDialog刷新窗口的例子

    本篇文章将深入探讨`showModalDialog`如何用于刷新窗口,并通过例子进行详细讲解。 `showModalDialog`的基本语法如下: ```javascript window.showModalDialog(url, windowObject, features); ``` - `url`:这是...

    showModalDialog open弹出子窗口操作parent、opener父窗口及跨域处理

    1&gt; window.showModalDialog()采用JS原理实现,同时父窗口不可操作,window.open()采用新创建一个窗口,同时父窗口可操作; 2&gt; 父窗口与子窗口传递值的方式也有所不同,在子窗口中操作父窗口也语法也不同,分别为var...

    showModalDialog 弹出窗口关闭不刷新父窗口最终实现了

    ### showModalDialog 弹出窗口关闭不刷新父窗口的实现方法 #### 一、背景介绍 在Web开发过程中,经常会遇到需要使用弹出窗口显示额外信息或进行特定操作的情况。`showModalDialog` 是一个非常实用的功能,允许创建...

    ShowModalDialog父窗体向子窗体传值

    在这种情况下,可能需要使用其他方法,如回调函数或使用`postMessage` API来实现父子窗口之间的安全通信。 总的来说,`showModalDialog`和`showModelessDialog`是JavaScript中用于创建弹出式对话框的两种方式,它们...

    window.showModalDialog的一个domo模型

    这个示例是学习和理解`window.showModalDialog`的一个很好的实践,它展示了如何在不同窗口之间进行通信,这对于创建复杂的交互式Web应用非常有用。不过,需要注意的是,`showModalDialog`在现代浏览器中的支持情况并...

    window.showModalDialog打开跨域的页面并取到返回值

    主页面用window.showModalDialog的时候,如果直接打开其它系统的页面,这时候别人的页面在window.returnValue=1;这样返回值的时候,主页面是取不到返回值的,原因就是因为跨域了.

Global site tag (gtag.js) - Google Analytics