模式窗口showModelessDialog怎么样实现调用父级窗口函数?

ldargon 2004-10-30 09:41:55
那位大侠指点
...全文
409 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bisliu 2004-11-02
  • 打赏
  • 举报
回复
学习,有收获
PPLUNCLE 2004-10-30
  • 打赏
  • 举报
回复
直接运行ss.htm
PPLUNCLE 2004-10-30
  • 打赏
  • 举报
回复
ss.htm
-------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script language="JavaScript">
function openpage()
{
var a = window.showModalDialog("aa.htm",window,"dialogwidth:500px;dialogheight:150px;status:no;scroll:no");
}
</script>
</head>

<body>

<form name="form1" method="post" action="">
<table width="500" border="1">
<tr>
<td><input name="ParentOID" type="text" id="ParentOID" value="默认的值"></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><input type="button" name="Submit" value="弹出" onClick="openpage()"></td>
</tr>
</table>
</form>
</body>
</html>
------------------------------------------------
aa.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>模态窗口</title>
<script language="JavaScript">
//得到父窗口的引用。
var VarObject = window.dialogArguments;
//刷新父窗口
function ReferParentWin()
{
if(VarObject != null){
//刷新父窗体.
VarObject.location.reload();
}
}
function ListValue()
{
document.all["ChildOID1"].value = VarObject.document.all["ParentOID"].value
}
function GetValue()
{
VarObject.document.all["ParentOID"].value = document.all["ChildOID2"].value
}
</script>
</head>

<body>
<table width="500" border="1">
<tr>
<td>
<input type="submit" name="Submit" value="赋值" onClick="ListValue()">
<input type="submit" name="Submit3" value="给父窗体内的文本赋值" onClick="GetValue()">
<input type="submit" name="Submit2" value="刷新父窗口" onClick="ReferParentWin()">
</td>
</tr>
<tr>
<td>
<input name="ChildOID1" type="text" id="ChildOID1">
<input name="ChildOID2" type="text" id="ChildOID2" value="赋给父窗口的值"> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</body>
</html>
ldargon 2004-10-30
  • 打赏
  • 举报
回复
好像调用不了啊要不要设置什么属性?
PPLUNCLE 2004-10-30
  • 打赏
  • 举报
回复
这里要注意的是,如果你的子页面在打开以后刷新过一次,用var VarObject = window.dialogArguments;就不能得到父窗体引用了...
这个问题我一直没解决..
PPLUNCLE 2004-10-30
  • 打赏
  • 举报
回复
要调用父窗体函数:

VarObject.父窗体函数名称

PPLUNCLE 2004-10-30
  • 打赏
  • 举报
回复
父窗口弹出模态窗口代码:
var a = window.showModalDialog("B.aspx?OID="+ OID,window,"dialogwidth:600px;dialogheight:300px;status:no;scroll:no");


模态窗口代码:

<script language="javascript">
//得到父窗口的引用。
var VarObject = window.dialogArguments;
//刷新父窗口
function ReferParentWin()
{
//可以用VarObject调用父窗口内任何一个元素
//比如:VarObject.document.all["aaa"].value 就是得到父窗体内ID为aaa的文本框的值
if(VarObject != null){
//刷新父窗体.
VarObject.location.reload();
}
}
</script>
ice_berg16 2004-10-30
  • 打赏
  • 举报
回复
window.showModalDialog("test.htm",window);
----------------------对话框窗口中-------
var parentWin = window.dialogArguments;
parentWin.functionName();

87,955

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧