知识大全 在ModalDialog中操作父窗口对象
Posted 操作
篇首语:曾无好事来相访,赖尔高文一起予。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在ModalDialog中操作父窗口对象相关的知识,希望对你有一定的参考价值。
在ModalDialog中操作父窗口对象 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
不能使用window parent
Window parent是用来在frame中进行操作的 在对话框中不能用来操作父窗口对象
正确的做法
调用modaldialog时通过传参数的方式操作
例
需求
父窗口页面为l 子窗口页面为l l中有文本框id为test 在打开的对话框中点击按钮 将l的文本框值改为 子窗口值
实现
打开对话框时把test 作为参数传给子窗口 在子窗口中获取参数 将参数对象(即l中传过来的text对象)的value属性值设置为 子窗口值
注意 这里只能传id 不能传name
l代码如下
<>
<head>
<meta equiv= Content Type content= text/; charset=gb >
<title>l</title>
</head>
<body>
<input type=text id=test value= >
<input type=button value= OK onclick= window showModalDialog( l test ) >
</body>
</>
l代码如下
<>
<head>
<meta equiv= Content Type content= text/; charset=gb >
<title>l</title>
<script language=javascript>
function func ()
//获取父窗口传过来的参数
var ptextid = window dialogArguments;
if(ptextid != undefined)
//将父窗口传过来的对象的值改为 子窗口值
ptextid value = 子窗口值 ;
//关闭子窗口
window close();
</script>
</head>
<body>
<input type=button value= OK onclick=func ()>
</body>
</>
如果需要操作的父窗口对象比较多 也可以将window或window document作为参数传给子窗口
例
需求
l中添加id为 aform 的的form form中有id为test 的文本框 在l中 除了进行上面的操作之外 还要将test 的值改为 子窗口值 并将form提交到l
实现
将l中打开对话框的函数改为如下方式:
window showModalDialog( l window document);
将l中func ()改为如下:
function func ()
var pdoc = window dialogArguments;
if(pdoc!=undefined)
pdoc all test value= 子窗口值 ;
pdoc all test value= 子窗口值 ;
pdoc all aform action= l ;
pdoc all aform submit();
实现
因为在子窗口中对父窗口进行的操作比较多 也可以采用execScript的方式实现
将l中打开对话框的函数改为如下方式:
window showModalDialog( l window);
添加javascript函数如下
function func()
test value= 子窗口值 ;
document all test value= 子窗口值 ;
aform action= l ;
aform submit();
将l中func ()改为如下:
function func ()
var pwin = window dialogArguments;
if(pwin!=undefined)
var codeStr = func();
pwin execScript(codeStr javascript );
window close();
cha138/Article/program/Java/hx/201311/27093
相关参考