Как вернуть переменную в 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.