JAVASCRIPT访问父窗口的变量或方法

AA.HTM
-------------------------------------

<!--
showModalDialog函数的使用   (转)     
本范例可以实现弹出一个模态窗口,并演示了两种接收和传递参数的方法,同时可以接受模态窗口返回的多个变量   
-->
<html>     
    
<head>     
<meta   http-equiv="Content-Type" content="text/html; charset=gb2312">     
<title>主界面</title>     
</head>     
    
<body>     

<form id="getForm"> 回传值:
<input   type="text"   id="getData"   readOnly>   
<input   type="text"   id="getData1" readOnly>     
<input   type="text"   id="getData2" readOnly> 
</form>     

<input   type="button"   value="打开新窗口1"   onClick="openWin1()">     
<input   type="button"   value="打开新窗口2"   onClick="openWin2()">     
<script   language="JavaScript">          

function   openWin1()           
{                   
      var   srcFile   =   "BB.htm";         //新窗口的文档名称                   
      var   winFeatures   =   "dialogHeight:300px;   dialogLeft:200px;";                   
      var   obj   =   getForm;     //将form作为对象传递给新窗口                                 
      window.showModalDialog(srcFile,   obj,   winFeatures);           
}    


function   openWin2()           
{                   
      var   srcFile   =   "CC.htm";         //新窗口的文档名称                   
      var   winFeatures   =   "dialogHeight:300px;   dialogLeft:200px;";                   
      var   obj   =   getForm.getData.value;     //将form作为对象传递给新窗口                                 
      var   str=window.showModalDialog(srcFile,   obj,   winFeatures);           
      if(str!=null) 
      document.getElementById("getData").value =str;
}     
    
</script>     
    
</body>   
    
</html>    

-------------------------------------
bb.htm
-------------------------------------

<!--
BB.HTM     
重要提示:你弹出窗口中调用的是ASPX(or asp)文件时,必须在Page_Load事件中加入以下代码   
Response.Expires   =   0;   
Response.Cache.SetNoStore();   
Response.AppendHeader("Pragma", "no-cache");     
否则,每次弹出的页面都是上一次的Cache,不会改变。   
------------------------------------------------------------------------------------------------------------------------     
-->

<html>     
    
<head>     
<meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">     
<title>新窗口BB</title>     
</head>     
    
    
<base   target="_self">   <!--这句话非常重要,只要加上才能保证在弹出窗口中调用服务端代码而不会再弹出一个新窗口-->     
<body> 
      
<form   id="sendForm">         请输入资料:     
<input   type="text"   id="writeData">           
<input   type="text"   id="writeData1"> 
<input   type="text"   id="writeData2">       
<input   type="button"   value="送回父窗口"   onClick="send(sendForm.writeData.value, sendForm.writeData1.value, sendForm.writeData2.value);">     
</form> 
      
<script   language="JavaScript">           
function   send(val,val1,val2)           
{                   
          //取得父窗口传过来的对象                   
          var   myObj   =   window.dialogArguments;                   
          //赋值     
          myObj.getData.value   =   val;     
          myObj.getData1.value   =   val1;     
          myObj.getData2.value   =   val2;     
          //关闭窗口                   
          window.close();           
}     
</script>     
    
</body>   
    
</html>    

-------------------------------------
cc.htm
-------------------------------------

<!--
CC.HTM     
------------------------------------------------------------------------------------------------------------------------     
--> 
<html>     
    
<head>     
<meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">     
<title>新窗口CC</title>     
</head>     
    
    
<base   target="_self">   <!--这句话非常重要,只要加上才能保证在弹出窗口中调用服务端代码而不会再弹出一个新窗口-->     
<body>     
<form   id="sendForm">         请输入资料:     
<input   type="text"   id="writeData">           
<input   type="button"   value="送回父窗口"   onClick="send(sendForm.writeData.value);">     
</form>     
<script   language="JavaScript">           
function   send(val)           
{                   
          window.returnValue=val; 
          window.close();           
}     
</script>     
    
</body>   
    
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值