`

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

    博客分类:
  • JS
阅读更多
第一个问题:刷新父窗口(没有传值操作)    

    

父页面打开时一定要传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>    

<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);     

     

}     

</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>    
<script type="text/javascript">   
function aa(){     
self.close();     
window.dialogArguments.location="parent.html";          

}     

</script>    

</HEAD>    
     
<BODY>    

test    

<input type="button" value="close" onclick="aa()">    

</BODY>    

</HTML>    
 



第二个问题:只传值不刷新  

parent2.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">    

<HTML>    

<HEAD>    

<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);     

    
}     

</script>    

</HEAD>    
     
<BODY>    

<input type="button" value="open" onclick="show()">    

test  

<input type="text">    

</BODY>    

</HTML>   

son2.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">    
<HTML>    
<HEAD>    
<TITLE> New Document </TITLE>    
</HEAD>    
<BODY>    
test 
<br>
		<label id="test"></label>
		<br>
<div id="bb"></div>
<br>
<div id="cc"></div>
</BODY>    
<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);     
 document.getElementById("test").innerHTML = aa;
document.getElementById("bb").innerHTML = bb;
document.getElementById("cc").innerHTML = cc;
</script> 
</HTML>   


第三个问题:传值+刷新父窗口    

    

father.html  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">    

<HTML>    

<HEAD>    

<title>传值+刷新</title>    

<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();        

}     

     

}     

</script>    

</HEAD>    
  

<BODY>    

<input type="button" value="open" onclick="show()">    
test    
<input type="text">    

</BODY>    

</HTML>  
 


child.html   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">    

<HTML>    

<HEAD>    

<TITLE> New Document </TITLE>    

<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();        

}      

</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跨域返回值

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

    针对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`是一个用于打开模态对话框的函数,它能够创建一个新的浏览器窗口或者在当前窗口内显示一个弹出层,阻止用户与父窗口的交互,直到用户关闭对话框为止。这个方法在创建...

    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`在现代浏览器中的支持情况并...

Global site tag (gtag.js) - Google Analytics