web-dev-qa-db-fra.com

fermeture modale bootstrap après 4 secondes ou clic de l'utilisateur

Comment définirais-je un délai d'attente pour un modal bootstrap? Après avoir récupéré les données ajax indiquant que le message renvoyé par php contient le terme success, je souhaite donner à l'utilisateur la possibilité de fermer la fenêtre. Cependant, je veux aussi juste avoir un compte à rebours de 4 secondes. Actuellement, le message de succès revient le deuxième, le modal se cache.

$('#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');
            }
        });
    });
});
12
Alex

Lorsque vous appelez setTimeout (), enveloppez votre commande dans une fonction anonyme. Sinon, la commande sera exécutée immédiatement.

setTimeout(function() {$('#forgot-form').modal('hide');}, 4000);
36
James Lawruk
setTimeout(function(){
  $('#Modal').modal('hide')
}, 4000);

// où l'id de modal est 'Modal'

16
ebentil

Le code suivant est utilisé pour masquer le modèle sur un événement onClick. Utilisez le nom de classe pour l'écouteur onClick et l'identifiant modal comme sélecteur à masquer.

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

cela fonctionne pour le popup retardant la fermeture de 3 secondes . veuillez vérifier avec le $('#submit1') pour ce clic j'ai écrit le code.

0
Shashank Malviya