第一種:Open
1. 通過Opener方法調(diào)用父窗體方法傳值
父窗體
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> 11<script type="text/javascript"> 12 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>
子窗體
1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 4<title>子窗口</title> 5 <script type="text/javascript"> 6 7 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='關(guān)閉' onclick='valueExit()'/> 20</form> 21</div> 22</body> 23</html>
2.在子窗體里面用window.opener.document.from方法傳值
父窗體
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> 11<script type="text/javascript"> 12<!-- 13function openWindow() { 14 newWindow = window.open('z1.html','newWindow','height=300,width=300,scrollbars=auto'); 15 if (newWindow != null) { 16 newWindow.focus(); 17 } 18} 19//--> 20</script> 21</select> 22</body> 23</html>
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='關(guān)閉' onclick='window.opener.document.f1.ft.value=document.fz. tt.value;self.close();' /> 12</form> 13</div> 14</body> 15</html>
擴展:子窗體關(guān)閉要刷新父窗體,在子窗體賦值的第一句加上opener.location= opener.location.href;
第二種:ShowModalDialog
1.window.returnValue方法傳值
父窗體
1<html> 2<head> 3<script type="text/javascript"> function fnOpen() { 4 var returnTarget = window.showModalDialog("zichuangti.aspx", 'newWindow', 'dialogHeight=500px;dialogWidth=700px;center=yes;resizable=yes;help=no;'); 5 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
<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="關(guān)閉窗口" runat ="server" onclick="exit()"/> </div> </form> </body> </html>
擴展:子窗體關(guān)閉要刷新父窗體,在打開窗體的URL后面加上 window.location.reload();
本文作者:未知
|