关于window.opener
window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以写为:
window.opener.document.getElementById("name").value = "输入的数据";
对于javascrīpt中的window.opener没有很好的理解。
为什么框架中不能使用,弹出窗口的父窗口不能在框架里面的某个页面呢?那怎样通过弹出窗口操作框架中的父窗口呢?
opener.parent.frames['frameName'].document.all.input1.value 试试这个:)
通过window.showModalDialog或者.showModelessDialog弹出的页面
比如: window.returnValue=’OK’;window.close();
strRtn=window.showModalDialog(......)
这时,strRtn='ok'
例子:
1.新建两个页面 一个是 Parent.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>父窗体</title>
<script language="javascript" type="text/javascript">
function OpenWindow(){
window.open('son.html');
}
function setValue(m_strValue){
document.getElementById("txt_Value").value = m_strValue;
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="txt_Value" id="txt_Value" />
</label>
<label>
<input type="button" name="btn_ShowClose" id="btn_ShowClose" value="按钮" onclick="OpenWindow();" />
</label>
</form>
</body>
</html>
另一个是子窗体 :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>子窗体</title>
<script language="javascript" type="text/javascript" >
function CloseWind(){
opener.setValue("传值到父窗体");
window.close();
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<label>关闭
<input type="button" name="btn_Close" id="btn_Close" value="按钮" onclick="CloseWind();"
/>
</label>
</form>
</body>
</html>
2.通过子窗体执行的父窗体的setValue(m_strValue)来执行赋值操作.
posted on 2008-01-11 00:06 Above The Sky 阅读(246) 评论(0) 收藏 举报
浙公网安备 33010602011771号