<script>
function opensubwin(url) {
window.open(url,"_blank")
window.close()
}
</script>
<input type=button value="打开子窗口" onclick="opensubwin('第二个子窗口的URL')">
JS子窗口调用父窗口的方法:
框架(iframe)形式,这时用到是window.parent, window.parent能获取一个框架的父窗口或父框架。顶层窗口的parent引用的是它本身。可以用这一点特性来判断这个窗口是否是顶层窗口。详情如下:
1、1.html代表的是父窗口
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<html xmlns="
<head>
<meta http-equiv="Content-Type" content="text/html charset=utf-8" />
<title>父页面</title>
</head>
<body>
<form name="form1" id="form1">
<input type="text" name="username" id="username" />
</form>
<iframe src="2.html" width="100%">
</body>
</html
2、2.html代表的子窗口
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<html xmlns="
<head>
<meta http-equiv="Content-Type" content="text/html charset=utf-8" />
<title>子页面</title>
<script type="text/javascript">
function changeValue(val){
var _parentWin = window.parent
_parentWin.form1.username.value = val
}
</script>
</head>
<body>
<input type="file" name="filename" onchange="changeValue(this.value)" />
</body>
</html>
这时在子窗口(iframe窗口)所做的改变,会改变父窗口中username的值。
showmodaldialog:模式窗口, 一种很特别的窗口,当它打开时,后面的父窗口的活动会停止,除非当前的模式子窗口关闭了, 才能操作父窗口.在做网页ajax开发时,我们应该有时会用到它来实现表单的填写, 或做类似网上答题的窗口. 它的特点是,传参很方便也很强大,可直接调用父窗口的变量和方法.使用方法:例如:----------------parent.htm<scriptvarobj=newobject()obj.name=51jswindow.showmodaldialog(modal.htm,obj,dialogwidth=200pxdialogheight=100px)</scriptmodal.htm<scriptvarobj=window.dialogargumentsalert(您传递的参数为:+obj.name)</script----------------2.可以通过window.returnvalue向打开对话框的窗口返回信息,当然也可以是对象。例如:---------------parent.htm<scriptstr=window.showmodaldialog(modal.htm,,dialogwidth=200pxdialogheight=100px)alert(str)