当前位置:首页 > java知识学习_java技术文章 > 正文

window.dialogarguments详解与应用案例

浏览82+

模态框

一、属性介绍

该dialogarguments属性是父窗口中独有的属性,当我们使用window.dialogarguments方法的时候就可以获取到值代父窗口对象的引用,换句话说就是通过该方法拿到了父窗口的对象

当我们此窗口中想要访问父窗口的标签儿或者某个方法时就可以调用该方法,先拿到父窗口的引用对象,然后在使用getElementByid之类的方法获取到某个标签儿的对象即可,然后再做项目中实际需求的操作。

带有子窗口和父窗口的模态框一览图

不过需要提醒大家的就是该dialogarguments方法在谷歌浏览器中一律是不支持的,并且啊该方法在W3CSchool的标准中已经被移除掉了,也就是说虽然目前该方法还能可用,但是不确保以后会一定会使用,有可能在后续的浏览器升级更新过程中该方法就被停止使用了。

还需要注意的一点就是该dialogarguments参数常用在子父窗口的模态框出现,该方法也只能在此种情况下使用,它只能适用于showModalDialog和showModelessDialog这两种类型的模态窗口儿,只要在这两种类型的模特窗口状态下,它能够传递任意类型的值

二、window.dialogarguments应用案例与代码详解

1)模态框中传参代码案例

首先我们定义了一个object空对象,然后设置了它的user值为”zhangsanfeng”,然后我们就用showModalDialog这个方法将object对象传入到模态框中。具体见以下代码案例:

var object={};

object.user=”zhangsanfeng”;

window.showModalDialog(“./index1.jsp”,object);

var object=window.dialogArguments;

alert(object.user);

当我们想要在模态框中获取该object的对象值的时候,此时我们就需要使用window.dialogArguments方法获取代表该引用的对象,然后使用该对象的引用调用.user方法就能获取到该user的参数值了。

2)子窗口中获取父窗口对象案例

当我们想要在子窗口中获取父窗口的对象时首先我们要在父窗口中将父窗口的对象引用传入到子窗口中,代码如下:

window.showModalDialog(‘子窗口.aspx’,window,’xxxxxx’);

上面的代码中第一个参数指代的是子窗口的url,第二个参数指代的是父窗口的引用对象window。

然后我们就可以调用打开子窗口的方法,然后再获取父窗口的引用对象,拿到父引用对象之后就可以调用父窗口中的任何方法或者是标签儿了,具体代码如下:

window.showModalDialog();

var fuObj=window.dialogArguments;

fuObj.方法名();

3)子窗口中调用父窗口中的事件

子窗口中不但可以调用父窗口中的函数和方法。而且还能够触发父窗口中的点击事件以及其他各种类型的事件,

我们只需要获取父窗口口中的input标签按钮对象,然后再调用相应的click点击事件即可,具体代码如下:

var fu = dialogArguments;

fu.getElementById(“btnId”).click();

三、window.parent方法 和window.dialogArguments方法的区别介绍

其实它们两个的应用场景是不一样的,window.parent方法的应用场景是在frame子框架和父框架里面儿才会用到这个方法,当我们在子框架下想要调用父框架中对象的时候,就可以使用window.parent.frame。

而window.dialogArguments方法它是模态框子窗口和父窗口儿之间才能应用,该方法只有一种应用场景,就是在mode和modeless这种窗口下才能够使用,主要用来传递参数值,值可以是任意类型,可以是字符串也可以是对象或者数组。

责任声明:文章信息由IT教程屋小编精心整理总结编排而成,倾注了心血和汗水,转载时请遵循行业规范务必注明文章作者、来源及本页链接,谢谢合作!
本篇文章标题:window.dialogarguments详解与应用案例
本篇文章url地址:http://www.itjcw123.cn/2915.html