第一種:Open
1. 通過Opener方法調用父窗體方法傳值
父窗體
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='關閉' 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='關閉' 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方法傳值
父窗體
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="關閉窗口" runat ="server" onclick="exit()"/>
</div>
</form>
</body>
</Html>
擴展:子窗體關閉要刷新父窗體,在打開窗體的URL後面加上 window.location.reload();