今天遇到了需要將子窗體的數(shù)據(jù)傳遞給父窗體的問題,到網(wǎng)上找了個(gè)答案,。特分享下。以備不時(shí)之需。
1.在父窗體中把子窗體的值帶出來
第一種方法:
(1)在父窗體中的代碼:
<html>
<head>
<script type="text/javascript">
function toUrl()
{
window.open("你的子窗體頁面");
}
</script>
</head>
<body>
<form id="form1">
<input type="text" value="" id="text1"/>
<input type="button" value="打開" onclick="toUrl()">
</form>
</body>
</html>
(2)子窗體中的代碼
<html>
<head>
<script type="text/javascript">
function goback()
{
//opener代表了父窗體
window.opener.document.getElementById("text1").value=document.getElementById("text2").value;
window.close();
}
</script>
</head>
<body>
<form id="form1">
<input type="text" id="text2" value=""/>
<input type="button" value="回傳" onclick="goback()">
</form>
</body>
</html>
第二種方法:
(1)在父窗體中的代碼:
<html>
<head>
<script type="text/javascript">
function toUrl()
{
var a=window.showModalDialog("你的子窗體頁面",window);
if(a!="[object]") //這個(gè)地方可以不判斷,,意義不大
{
document.getElementById("text1").value=a;
}
}
</script>
</head>
<body>
<form id="form1">
<input id="text1" type="text" value="">
<input type="button" id=”button1“ onclick="toUrl()"/>
</form>
</body>
</html>
(2)在子窗體中的頁面
<html>
<head>
<script type="text/javascript">
function reVal()
{
var b=document.getElementById("text2").value;
window.returnValue=b;
window.close();
}
</script>
</head>
<body>
<form id="form1">
<input type="text" id="text2" value=""/>
<input type="button" value="回傳" onclick="reVal();"/>
</form>
</body>
</html>
2.在子窗體里帶出父窗體里的值
(1)父窗體里的代碼
<html>
<head>
<script type="text/javascript" language="javascript">
function openwindow()
{
window.open("你的父窗體頁面","_blank");
}
</script>
</head>
<body>
<input type="text" value="" id="text1">
<input type="button" value="打開" onclick="openwindow()">
</body>
</html>
(2)子窗體里的代碼
<html>
<head>
<script>
function fun() {
window.opener.document.getElementById("text1").value="info";
window.close();
}
</script>
</head>
<body>
<input type="button" onclick="fun()" value="aaa">
</body>
</html>