Как закрыть отображение страницы Ajax в fancybox вручную? - PullRequest
0 голосов
/ 08 декабря 2010

Я отображаю форму обратной связи ajax в модной коробке, и мне нужно закрыть модную коробку после отправки обратной связи (с задержкой 20 секунд).

Мой необычный звонок - это ...

        $("#feedback").fancybox({
            'speedIn'   :   600,
            'speedOut'  :   200,
            'centerOnScroll':   false,
            'autoDimensions':   true,
                'type'          : 'ajax'

});

1 Ответ

2 голосов
/ 08 декабря 2010

Как то так. Изменить по необходимости.

$.post('/YourAjaxRequest', { your ajax data }, function() {
    $.fancybox.close();
}, 'json');

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

$.post('/YourAjaxRequest', { your ajax data }, function() {
    setTimeout($.fancybox.close, 20000);
}, 'json');

Чтобы указать, что вы отправляете запрос, вы можете использовать showActivity:

$.fancybox.showActivity();
$.post('/YourAjaxRequest', { your ajax data }, function() {
    $.fancybox.close();
}, 'json');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...