Как вернуть переменную в SimpleModal после ее закрытия

Кажется, что это будет довольно распространенное использование для простых модальных, но я не могу найти, как это сделать где-либо.

Я подтягиваю страницу через iframe с помощью simplemodal, генерируя переменную, затем я хотел бы передать ее обратно на родительскую страницу, когда модальное окно закрыто.

Как бы я поступил так?

Спасибо за любую помощь!

2 ответа

Решение

Как ты имеешь в виду передать его обратно? JQuery? Если вы не находитесь в том же домене, протоколе или иным образом правильно настроили document.domain, то вы столкнетесь с ошибками со следующим фрагментом, но вы можете попробовать что-то вроде следующего, чтобы получить доступ к DOM родительской страницы.

window.parent.$

Допустим, у вас есть эта функция на родительской странице,

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

}

тогда у вас есть этот код в простой обратный вызов OnClose:

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

});

Хорошо, я понял это, спасибо Робу А за некоторые хорошие идеи.

Я должен был сначала дать имя 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.

Другие вопросы по тегам