2015-07-09 7 views
1
if(jQuery("#form_fill_hours").validationEngine('validate')){ 

    alertify.confirm("Are you sure you want to submit this exam form to your teacher?", function (e) { 
    if (e) { 
     alertify.set({ delay: 10000 }); 
     alertify.success("Your exam form has been submitted"); 
     $.blockUI.defaults.message = "<h1 class='block_msg'>Please Wait...</h1>"; 
     $.post(SITE_URL+"fill/save/saveformexam?type=1",$("#form_fill_hours").serialize(), function(data) { 
      window.location.href="<?php echo EXAM_URL."exam/weekly/index?week=".$_GET['week'] ?>"; 
     }); 
    } else { 
     alertify.error("Your exam form is not submitted"); 
    } 
}); 
      return false; 
    }else{ 
      return false; 
    } 

Используя оповещение, я установил 10 секунд для успешного сообщения, но он не работает? Мне просто нужно показать успешное предупреждение пользователю, а затем перенаправить на ту же страницу.Alertify - Показать сообщение об успешном завершении с задержкой

Пробовал с помощью delay, но не работает, хотя:

alertify.success("Your exam form has been submitted");//show alert to user 
delay(100);//wait for 10 secs and then post form data 
$.post(SITE_URL+"fill/save/saveformexam?type=1",$("#form_fill_hours").serialize(), function(data) { 
       window.location.href="<?php echo EXAM_URL."exam/weekly/index?week=".$_GET['week'] ?>"; 
      }); 

Как я мог установить некоторую задержку в успехе сообщения так, чтобы пользователь мог видеть его и только потом разместим форму детали к действию контроллера?

+0

вы хотите, чтобы показать сообщение через 10 секунд? – Dhiraj

+0

@DhirajBodicherla, предупреждение должно отображаться в течение 10 секунд, и только тогда ему нужно «$ .post» данные формы – Slimshadddyyy

+0

есть ли задержка перед сообщением об успешном завершении? – Dhiraj

ответ

1

.delay() Используется только между эффектами jQuery. Вот что говорят документы:

Метод .delay() лучше всего задерживать между обработанными в очереди эффектами jQuery. Поскольку он ограничен - он, например, не предлагает способ отмены задержки. .delay() не является заменой встроенной функции setTimeout для JavaScript, что может быть более подходящим для определенных случаев использования.

Таким образом, единственный способ создать задержку перед методом пост является SetTimeout

setTimeout(function(){ 
    $.post(SITE_URL+"fill/save/saveformexam?type=1",$("#form_fill_hours").serialize(), function(data) { 
    window.location.href="<?php echo EXAM_URL."exam/weekly/index?week=".$_GET['week'] ?>"; 
    }); 
}, 1000);