2013-09-10 3 views
8

Come impostare un timeout per un modal bootstrap? Dopo aver ottenuto i dati Ajax indietro che il messaggio restituito da php contiene il termine success, voglio dare all'utente la possibilità di chiudere la finestra. Tuttavia, voglio anche solo avere un conto alla rovescia di 4 secondi. Attualmente il secondo messaggio di successo ritorna il modale si nasconde da solo.bootstrap modal close dopo 4 secondi o utente click

$('#forgotform').submit(function (e) { 
    "use strict"; 
    e.preventDefault(); 
    $('#forgotsubmit').button('loading'); 
    var post = $('#forgotform').serialize(); 
    var action = $('#forgotform').attr('action'); 
    $("#message").slideUp(350, function() { 
     $('#message').hide(); 
     $.post(action, post, function (data) { 
      $('#message').html(data); 
      document.getElementById('message').innerHTML = data; 
      $('#message').slideDown('slow'); 
      $('#usernamemail').focus(); 
      if (data.match('success') !== null) { 
       $('#forgotform').slideUp('slow'); 
       $('#forgotsubmit').button('complete'); 
       $('#forgotsubmit').click(function (eb) { 
        eb.preventDefault(); 
        $('#forgot-form').modal('hide'); 
       }); 
       setTimeout($('#forgot-form').modal('hide'), 10000); 
      } else { 
       $('#forgotsubmit').button('reset'); 
      } 
     }); 
    }); 
}); 
+0

Cosa succede quando commentate 'setTimeout'? Si chiude automaticamente da solo? – JofryHS

risposta

23

Quando si chiama setTimeout(), inserire il comando in una funzione anonima. Altrimenti il ​​comando verrà eseguito immediatamente.

setTimeout(function() {$('#forgot-form').modal('hide');}, 4000); 
+2

Oh uomo! Grazie mille, hai salvato la mia giornata! –

10
setTimeout(function(){ 
    $('#Modal').modal('hide') 
}, 4000); 

// dove id del modal è 'modale'

0
$('#submit1').click(function(){ 
     setTimeout("$('#myModal').modal('hide');",3000); 
    }); 

questo sta lavorando per ritardare popup 3 secondi in chiusura. si prega di verificare con il $('#submit1') per questo clic Ho scritto il codice.

+0

La tua risposta non porta nulla di nuovo al problema, che è stato risolto 4 anni fa. –