artdialog4.1.7 中父页面给子页面传值

时间:2023-03-09 01:12:21
artdialog4.1.7 中父页面给子页面传值

artdialog4.1.7中父页面给子页面传值时看了一些网友的解决方法:

在父页面声明全局变量 var returnValue=“ ”,子页面用art.dialog.opener.returnValue=值,关闭子页面窗口,在父页面弹alert(returnValue)

但一直未定义。

修改后:

在父页面声明全局变量 var returnValue=“ ”,子页面用art.dialog.opener[0].returnValue=值,关闭子页面窗口,在父页面弹alert(returnValue)

就可以了

后调试发现

art.dialog.opener[0]->父窗体

art.dialog.opener[1]->当前窗体

当有多个父级时以此类推 例3个窗体 0->最父  1->2父 2->当前窗体(此描述存在问题,问题已经发现并重新描述,请往下看)

/***************2016.1.7修改********************/

最近在项目中又写了上面的方法,发现在ie上存在问题,后发现上面所述存在问题,

上面所述的父页面弹出子页面的方法用的是window.top.art.dialog.open(...)弹出的。而项目中使用了iframe框架,所以上诉的 art.dialog.opener[0]->父窗体 是存在问题的

art.dialog.opener是相对于弹出页面的子窗体,而window.top.art.dialog.open(...)是使用了最外层框架进行弹出的,所以 art.dialog.opener[0]->iframe窗体,art.dialog.opener[1]->iframe中又弹出的子窗体。

现在我一律修改成了art.dialog.open(...),直接在本页面弹出,而在子页面获取或修改父页面的值只需要art.dialog.opener即可。