showModalDialog/showModelessDialog

showModalDialog/showModelessDialog实例,父窗口向子窗口传递值,子窗口设置父窗口的值

下面是showModalDialog/showModelessDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口.关闭刷新父窗口,希望对象大家有所帮助.

(一)showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口.

farther.html
---------------------------

  <script language="javascript"> 
  function openChild(){ 

var k = window.showModalDialog("child.html",window,"dialogWidth:335px;status:no;dialogHeight:300px"); 
if(k != null) 
document.getElementById("txt11").value = k; 
} 
  </script> 
 

 

child.html

 

<script language=javascript> 
<!-- 
var k=window.dialogArguments; 
//获得父窗口传递来的值 
if(k!=null) 
{ 
document.getElementById("txt0").value = k.document.getElementById("txt9").value; 
} 
//设置父窗口的值 
function setFather() 
{ 
k.document.getElementById("txt10").value = document.getElementById("txt1").value 
} 
//设置返回到父窗口的值 
function retrunValue() 
{ 
var s = document.getElementById("txt2").value; 
window.returnValue=s; 
window.close(); 
} 
//--> 
</script> 

 
 由于showModalDialog缓存严重,下面是在子窗口取消客户端缓存的设置.也可以在服务器端取消缓存,参考: 
http://adandelion.cnblogs.com/articles/252137.html

------------------------------------------------------------------------------------------------------------------------
(二)下面是关闭刷新父窗口的例子

farther.html

  <script language="javascript"> 
<!-- 
function openChild() 
{ 

var k = window.showModalDialog("child.html",window,"dialogWidth:335px;status:no;dialogHeight:300px"); 
if(k == 1)//判断是否刷新 
{ 
alert('刷新'); 
window.location.reload(); 
} 
} 
//--> 
</script> 


  <input type ="button" value="openChild" onclick="openChild()">
  ----------------------------------------------------


child.html
--------
 父窗口传递来的值:<input id="txt0" type="text"><br> 

<input type ="button" value="关闭刷新父窗口" onclick="winClose(1)">
<input type ="button" value="关闭不刷新父窗口" onclick="winClose(0)">

<script language=javascript> 
<!-- 
var k=window.dialogArguments; 
//获得父窗口传递来的值 
if(k!=null) 
{ 
document.getElementById("txt0").value = k.document.getElementById("txt9").value; 
} 

//关闭窗口返回是否刷新的参数. 
function winClose(isRefrash) 
{ 

window.returnValue=isRefrash; 
window.close(); 
} 
//--> 
</script> 

 




 不刷新父窗口的话在父窗口中直接这样一来设置可以.

<script> 
window.showModalDialog("child.html",window,"dialogWidth:335px;status:no;dialogHeight:300px"); 
</script> 



本文参考了:http://dev.csdn.net/develop/article/15/15113.shtm

 

里面有showModalDialog/showModelessDialog的详细使用说明
http://www.cnblogs.com/adandelion/archive/2005/10/26/262666.html

<script> 
function echo() { 
x = showModalDialog("testnew.html",new Array(txt.value, txt1.value)); 
txt.value = x[0];//.txt1; 
txt1.value = x[1];//.txt2; 
} 
</script> 

 

<script>  
dlgtxt.value = window.dialogArguments[0]; 
dlgtxt1.value = window.dialogArguments[1]; 

function doSomething(){ 
var m_data = new Object; 
m_data.txt1 = dlgtxt.value; 
m_data.txt2 = dlgtxt1.value; 
window.returnValue = [dlgtxt.value, dlgtxt1.value]; 
close(); 
} 
</script> 

你可能感兴趣的:(JavaScript,html,.net)