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刷新父窗口 父子窗口之间传值 问题)