javascript使用window.opener在两个页面之间传递值
1、使用第一个页面打开第二个页面,通过第二个页面传递值给第一个页面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body>
<form name="form1" action="test.htm" method="post">
客户ID:<input type="text" name="cid" value="" id="cid"><br/>
客户名称:<input type="text" name="cname" value="" id="cname"><br/>
<input type="button" name="ok" value="请选择客户" onclick="openWin();">
</form>
</body>
<script type="text/javascript">
/*
* window.open(sURL,sName,sFeatrues);
* sURL:要打开文件的URL地址
* sName:指定打开窗口的名字:_self当前窗口 _blank:在新窗口打开
* sFeatures:装饰
*/
function openWin() {
window.open("msg.htm","_blank","height=200,width=200,status=yes,toolbar=no,menubar=no");
}
function setValue(cid,cname) {
document.getElementById("cid").value = cid;
document.getElementById("cname").value = cname;
}
</script>
</html>
2、第二个页面获取第一个页面的对象,并调用第一个页面的方法,将第一个页面所需要的值传递给第一个页面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script type="text/javascript">
function viewData(cid ,cname) {
//获取通过showModalDialog传过来的window对象
var sdata = window.opener;
//设置第一个页面的属性值
// sdata.document.getElementById("cid").value = cid;
// sdata.document.getElementById("cname").value = cname;
sdata.setValue(cid,cname);
//关闭Dialog窗口
window.close();
}
</script>
</head>
<body>
<table border="1">
<tr>
<td>操作</td>
<td>客户ID</td>
<td>客户名称</td>
</tr>
<tr>
<td><button onclick="viewData('001','深圳华为')">选择</button></td>
<td>001</td>
<td>深圳华为</td>
</tr>
<tr>
<td><button onclick="viewData('002','用友软件')">选择</button></td>
<td>002</td>
<td>用友软件</td>
</tr>
</table>
</body>
</html>