0

这似乎是对 simplemodal 的广泛使用,但我无法在任何地方找到如何做到这一点。

我正在使用simplemodal通过iframe拉出一个页面,生成一个变量,然后我想在模态关闭时将它传递回父页面。

我该怎么做呢?

谢谢你的帮助!

4

2 回答 2

1

你的意思是把它传回去?jQuery?如果您不在同一个域、协议或以其他方式正确设置了 document.domain,那么您将遇到以下代码段的错误,但您可以尝试以下类似的方法来访问父页面的 DOM。

window.parent.$

所以假设你在父页面上有这个功能,

function UpdateTheHeaderPlease(data) {
$('.header').replaceWith(data);

}

然后你将这段代码封装在 simplemodal 回调 OnClose 中:

$("#element-id").modal({onClose: function (dialog) {
window.parent.UpdateTheHeaderPlease(some data);

});

于 2012-05-02T20:25:08.060 回答
0

好的,我想通了,感谢 Rob A 的一些好主意。

我必须先给 iframe 起个名字。

$.modal('<iframe src="modal_calls.cfm" name="frameName">', {

然后在 iFrame 页面中,我设置了我想要传递回窗口范围变量的变量:

window.frameVar = myVar;

然后在我关闭模式之前,我使用 iFrame 的名称设置了一个窗口范围的变量:

onClose: function (dialog) {
    window.newFrameVar= window.frameName.frameVar;
    $.modal.close();
}

然后我可以使用 window.newFrameVar 在父文档上访问它。

于 2012-05-02T21:01:05.910 回答