归纳-子窗体传值到父窗体

第一种:Open
   1. 通过Opener方法调用父窗体方法传值
       
 
ContractedBlock.gif ExpandedBlockStart.gif 父窗体
 1<html>
 2<head>
 3<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
 4<title>父窗体</title>
 5</head>
 6<body>
 7<form name="form1"   method='get'>
 8<input type=text name='txtvalue' value=''>
 9<input type='button' onclick='openWindow()'  value="弹出">
10</form>
11ExpandedBlockStart.gifContractedBlock.gif<script type="text/javascript"> 
12ExpandedSubBlockStart.gifContractedSubBlock.gif     function openWindow() {
13        window.open(子窗体.html','newWindow','height=300,width=300,scrollbars=auto');       
14     } 
15     function setValue(returnValue) {
16          document.getElementById('txtvalue').value=  returnValue;
17     }
18</script> 
19
20</body>
21</html> 
  
ContractedBlock.gif ExpandedBlockStart.gif 子窗体
 1<html>
 2<head>
 3<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
 4<title>子窗口</title>
 5ExpandedBlockStart.gifContractedBlock.gif  <script type="text/javascript">
 6
 7ExpandedSubBlockStart.gifContractedSubBlock.gif       function valueExit() {
 8           var returnValue =  docment.getElementById('txtValue').value;
 9           opener.setValue(returnValue);                  
10           window.close();
11       }

12  
</script>
13</head>
14<body>
15<h1 align='center'>子窗口!</h1><hr>
16<div align='center'>
17<form name="fz" action='#' method='get'>
18<input type=text name='txtValue' id='txtValue'>
19<input type='button' value='关闭' onclick='valueExit()'/> 
20</form>
21</div>
22</body>
23</html>
   2.在子窗体里面用window.opener.document.from方法传值
     
ContractedBlock.gif ExpandedBlockStart.gif 父窗体
 1<html>
 2<head>
 3<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
 4<title>父窗体</title>
 5</head>
 6<body>
 7<form name="f1" action='#' method='get'>
 8<input type=text name='ft' value=''>
 9<input type='button' onclick='openWindow()'  value="弹出"/>
10</form>
11ExpandedBlockStart.gifContractedBlock.gif<script type="text/javascript"> 
12<!-- 
13ExpandedSubBlockStart.gifContractedSubBlock.giffunction openWindow() {
14     newWindow = window.open('z1.html','newWindow','height=300,width=300,scrollbars=auto');       
15ExpandedSubBlockStart.gifContractedSubBlock.gif     if (newWindow != null)     {
16             newWindow.focus();     
17      }
 
18}

19//--> 
20
</script> 
21</select>
22</body>
23</html> 
  
ContractedBlock.gif ExpandedBlockStart.gif Code
 1<html>
 2<head>
 3<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
 4<title>子窗口</title>
 5</head>
 6<body>
 7<h1 align='center'> 子窗口!</h1><hr>
 8<div align='center'>
 9<form name="fz" action='#' method='get'>
10<input type=text name='tt'>
11<input type='button' value='关闭' onclick='window.opener.document.f1.ft.value=document.fz.tt.value;self.close();' />
12</form>
13</div>
14</body>
15</html>
      
    扩展:子窗体关闭要刷新父窗体,在子窗体赋值的第一句加上opener.location= opener.location.href;
第二种:ShowModalDialog
    1.window.returnValue方法传值
      
ContractedBlock.gif ExpandedBlockStart.gif 父窗体
 1<html>
 2<head>
 3ExpandedBlockStart.gifContractedBlock.gif<script type="text/javascript"> 
        function fnOpen() {
 4    var returnTarget = window.showModalDialog("zichuangti.aspx"'newWindow''dialogHeight=500px;dialogWidth=700px;center=yes;resizable=yes;help=no;');
 5ExpandedSubBlockStart.gifContractedSubBlock.gif             if (returnTarget != undefined && returnTarget.length > 0{
 6                   document.getElementById("oArgs").value=returnTarget;
 7             }
        }
 8 
</script>
 9</head>
10<body>
11    <form id="form1" runat="server">
12        <div>
13            传过来的值: <input type="text" id="oArgs" runat ="server"/>
14            <input id="button" name="button" type="button" value="打开窗口" runat ="server" onclick="fnOpen()"/>
15        </div>
16    </form>
17
18</body>
19</html>
20
21
22


ContractedBlock.gif ExpandedBlockStart.gif Code
<html>
<head>
<script type="text/javascript">     
    
function exit() 
    {
        window.returnValue 
= form1.txtreturn.value; //返回值
         window.close();
    }
    
</script>
</head>
<body>
    
<form id="form1" runat="server">
        
<div>
            传递过来的值: 
<input type="text" id="txtreturn" runat ="server"/>
            
<input id="button" name="button" type="button" value="关闭窗口" runat ="server" onclick="exit()"/>
        
</div>
    
</form>
</body>
</html>


      扩展:子窗体关闭要刷新父窗体,在打开窗体的URL后面加上 window.location.reload();
     

    

转载于:https://www.cnblogs.com/qiufankaka/archive/2009/10/08/javascript.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值