window.dialogArguments 使用问题

window.dialogArguments 使用问题window.dialogArguments是什么  window.dialogArguments即为父窗口window对象的引用。父类窗口代码(弹出模式对话框):window.showModalDialog(url,window); 例如://子窗体关闭的时候刷新父窗体window.dialogArguments.location.href=wind

window.dialogArguments

window.dialogArguments 是什么  

window.dialogArguments 即为父窗口window对象的引用。
父类窗口代码(弹出模式对话框):
window.showModalDialog( url, window ); 

例如:
//子窗体关闭的时候刷新父窗体
window.dialogArguments.location.href=window.dialogArguments.location.href;
window.focus();
window.close();
//子窗口调用父窗口里的函数:
window.dialogArguments.函数名();

//直接调用父窗口控件的事件方法:
   var docum = dialogArguments; 
   docum.getElementById(“Button1”).click();//调用父窗口的按钮点击事件
详解如下:

弹出子窗口
window.showModalDialog( url, window ); 
然后在弹出的子窗口中: 
window.dialogArguments 即为父窗口window对象的引用。

例如:

子窗口是用window.showModalDialog()弹出的模式对话框.
父窗口中弹出时这么写:window.showModalDialog(‘子窗口.aspx’,window,’….’);
注意第二个参数用window,这样你就把父窗口对象当做参数传递给了子窗口.
然后在子窗口中就可以通过window.dialogArguments来引用父窗口对象了.

举个例子,你可以在子窗体关闭的时候刷新父窗体,可以这么写:
window.dialogArguments.location.href=window.dialogArguments.location.href;
window.focus();
window.close();
你也可以调用主窗口里的函数:
window.dialogArguments.函数名();

再附上一个msdn的例子:
<HTML>
<HEAD>
<TITLE>showModelessDialogEX.htm</TITLE>
<SCRIPT>
var sUserName="";

function fnCallDialog(){
showModelessDialog("myDialog.htm",window,"status:false;dialogWidth:300px;dialogHeight:300px");
}

function fnUpdate(){
oName.innerText = sUserName;
}
</SCRIPT>
</HEAD><BODY>
<P>Enter your first name:
 <SPAN ID="oName" STYLE="color:red;font-size:24">Joan</SPAN></P>
<INPUT TYPE="button" 
VALUE="Display Modeless Dialog" οnclick="fnCallDialog()">
</BODY>
</HTML>

Here is the code for “myDialog.htm”.
<HTML>
<HEAD>
<TITLE>myDialog.htm</TITLE>
<SCRIPT>
function fnGetInfo() {

var sData = dialogArguments;
sData.sUserName = oEnterName.value;
sData.fnUpdate();
}
function fnCancel() {

var sData = dialogArguments;
sData.sUserName = “Joan”;
sData.fnUpdate();
}
</SCRIPT>
</HEAD>
<BODY>
<LABEL FOR=”oEnterName” ACCESSKEY=”f”>
Enter your <SPAN STYLE=”text-decoration:underline”>F</SPAN>irst Name</LABEL>
<INPUT ID=oEnterName><BR><BR>
<INPUT VALUE=”Apply” TYPE=button οnclick=”fnGetInfo();”>
<INPUT VALUE=”Ok” TYPE=button οnclick=”fnGetInfo();window.close();”>
<INPUT VALUE=”Cancel” TYPE=button οnclick=”fnCancel();window.close();”>
</BODY>
</HTML>

dialogArguments只能在mode和modeless窗口中才能使用,可以传递传递任意类型的值,
上例就是传得是window. 在以前的项目中,页面之间传递参数经常使用的是url后接参数的形式

转自: http://blog.sina.com.cn/s/blog_7fff68b90101cc97.html

今天的文章window.dialogArguments 使用问题分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/33435.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注