2010-12-08 1 views
0

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

Моя фантазия коробка вызов ...

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

}); 

ответ

2

Что-то вроде этого. При необходимости измените.

$.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'); 
+0

как только я получу данные ajax, мне нужно закрыть промежуток времени 20 секунд. как задержать закрытие в течение нескольких секунд – 2010-12-08 13:27:57