javascript使用window.opener在两个页面之间传递值

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>

你可能感兴趣的:(JavaScript,window.opener,两个页面的值传递)