IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

appel une fonction avant de quitter la page avec une seule alerte


Sujet :

jQuery

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 77
    Par défaut appel une fonction avant de quitter la page avec une seule alerte
    Salut à tous

    j'ai un code qui permet d'alerter l'utilisateur une confirmation de quitter la page avec la fonction confirm et beforeunload , si l'utilisateur confirme il y a une fonction qui est lancée mais le probléme c'est qu il y aura un double alerte , une pour confirm (OK / Annuler ) puis une pour la navigateur ( rester sur la page / quitter la page ) .
    il me faudrait quelque chose une seule confirmation et ensuite l'appel de fonction puis quitter la page sans l'alerte du navigateur , si vous voyez ce que je veux dire

    // avec 2 alertes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $(window).bind('beforeunload', function()
    {     
     
        if ( confirm("voulez vous vraiment quitter ?") )
       {
            $.post(.....)
        }
     
    });

  2. #2
    Membre émérite Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Par défaut
    Avec beforeunload tu ne peux que juste retourner une chaîne de caractère qui sera affiché par le navigateur à la demande de confirmation. Notamment, tu ne peux pas appeler "confirm" c'est implicite et cela ne peut pas être changé.
    Par contre si tu veux faire une requête ajax à la fermeture effective, donc, si l'utilisateur choisit de "quitter" il te suffit d'attribuer l'événement unload de window et placer ta requête à l'intérieur.

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $(window).bind('beforeunload', function() {
    	return 'Êtes-vous sûr de vouloir vous déconnecter ?';
    });
     
    $(window).unload( function() {
    	$.ajax({
    		type: "POST",
    		url: "TonFichier.php",
    		data: { },
    		success: function() { }
    	});	
    });

    A savoir... Certains navigateurs ne supporte pas beforeunload et d'autre ne supporte pas unload, par exemple, opéra ne supporte aucun des deux et quelque soit sa version...

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/03/2013, 10h47
  2. Réponses: 17
    Dernier message: 16/07/2012, 14h10
  3. Réponses: 26
    Dernier message: 16/07/2009, 10h41
  4. Renommer une fonction dans un select ou concevoir autrement une fonction
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 30/05/2008, 17h17
  5. [debutant]appeler une fonction au chargement de la page
    Par Romain93 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/04/2007, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo