перезагрузите jqgrid из всплывающего окна IE 8 - PullRequest
0 голосов
/ 22 марта 2011

Я пытаюсь перезагрузить свой jqgrid после нажатия на кнопку закрытия во всплывающем окне в IE8.но это дало мне несколько ошибок, и теперь я попытался перезагрузить его на самой странице.Это означает, что не во всплывающем окне, а при запуске функции (находится на главной странице) нажмите кнопку «Закрыть» во всплывающем окне.я получаю сообщение об ошибке - «window.opener.document» является нулевым или не является объектом. (в IE8), пожалуйста, найдите мой код ниже -

функция всплывающего окна -

function closeUserPopup(){

//var x = window.opener.document.getElementById("myjqgrid");
//alert(x);
window.opener.document.callReload(); 
window.close();

}

функция на родительской странице для перезагрузки jqgrid-

function callReload(){
jq("#mygrid").trigger("reloadGrid"); 

}

есть ли способ перезагрузить родительскую страницу jqgrid из всплывающего окна?? (до закрытия) Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 22 марта 2011


Это не window.opener.document, а window.opener
Попробуйте проверить, действует ли открыватель еще до этого.
Обычно я делаю что-то вроде этого:

if ( window.opener != null)
   window.opener.callReload();
window.close(); 

Немного
Я отказался от всплывающих окон, подобных этим, потому что ими сложно управлять.
Я склонен использовать jQuery UI Dialog , чтобы я мог управлять всем на одной странице.

ОБНОВЛЕНИЕ

Если вы используете window.showModalDialog();, все еще проще.
Вот пример:

<script type="text/javascript">
    function OpenDialog(userPopupUrl)
    {
        alert("starting!");
        var vReturnValue = window.showModalDialog(userPopupUrl,"dialogWidth:450px;dialogHeight:100­px;center:yes;resizable:no;status:no;help:no;");
        alert("I am here!");
        // You can refresh whatever you want here!!!!
    }
</script>

Посколькувы создаете диалог, процесс клиент-сценарий останавливается, пока вы не закроете всплывающее окно.В этот момент ваш javascript возвращает управление и может запускать некоторые другие действия.PS: Вы можете использовать - как я - возвращаемое значение в качестве состояния здесь .

0 голосов
/ 22 марта 2011

Вероятно, не лучшая практика, но:

(function () {
    var parentLocation = window.opener.location;
    window.opener.location = parentLocation;
})();
...