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

JavaScript Discussion :

Empêcher de quitter la page => onUnload ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Février 2007
    Messages : 45
    Par défaut Empêcher de quitter la page => onUnload ?
    Bonjour à tous ,

    J'ai une page avec un formulaire HTML traité par PHP. J'aimerais que l'utilisateur ne puissent pas quitter la page sans utiliser les boutons dédiés (à savoir "valider" ou "annuler" le formulaire).

    Je parviens à afficher un message d'alerte en utilisant l'event "onUnload" mais cela n'empêche pas de quitter la page...

    Quelqu'un aurait-il une piste sur laquelle je puisse travailler ?

    Merci d'avance,

    Zakapatul

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onunload="return false"


    Pas dit que ça fonctionne ..

  3. #3
    Membre averti
    Inscrit en
    Février 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Février 2007
    Messages : 45
    Par défaut
    J'ai essayé ça oui en m'inspirant de la manière dont je procède pour empêcher la validation d'un formulaire... mais sans succès.

    Voici donc le code que j'ai rapidement écris mais qui ne remplit pas exactement son rôle :

    Mon écouteur de l'event onUnload :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onUnload = "return alerteChangementPage();">
    La fonction alerteChangementPage() appelée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function alerteChangementPage(){
      if(modif==true){
        if(confirm('Des modifications ont été apportées, voulez-vous quitter ?')){
          return true ;
        }
        else { 
          return false ; 
        }
      }
    }
    Le message de confirmation s'affiche bien mais quel que soit le choix de l'utilisateur, on quitte la page en cours...

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while (true){
    alert("pas bien");
    }

  5. #5
    Membre averti
    Inscrit en
    Février 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Février 2007
    Messages : 45
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while (true){
    alert("pas bien");
    }
    Euh... oui. Merci pour le message subliminal mais je ne comprends pas exactement quoi faire de cela... J'ai bien conscience que mon code n'est pas exemplaire mais quelques explications supplémentaires seraient nécessaires...

  6. #6
    Membre averti
    Inscrit en
    Février 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Février 2007
    Messages : 45
    Par défaut
    Yeeees

    J'ai trouvé la solution à mon problème : utiliser l'event onBeforeUnload plutôt que onUnload...

    Du coup cela devient très simple :

    L'écouteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <body onbeforeUnload = "return alerteChangementPage();">
    La fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function alerteChangementPage(){
      if(modif==true)
        return "Les modifications non-sauvegardées ne seront pas conservées." ;
    }
    Merci à tous ceux qui m'ont aidé !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Empêcher un changement de page d'un Multipage
    Par Dynea dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/06/2007, 08h51
  2. Empêcher le changement de page quand infos saisies
    Par fumesec dans le forum ASP.NET
    Réponses: 6
    Dernier message: 22/05/2007, 16h32
  3. [Sécurité] Empêcher l'accès aux pages
    Par benoitinfrance dans le forum Langage
    Réponses: 14
    Dernier message: 24/08/2006, 11h30
  4. empêcher le référencement de pages
    Par marsupix dans le forum Référencement
    Réponses: 1
    Dernier message: 22/05/2006, 16h59
  5. Réponses: 4
    Dernier message: 15/05/2006, 00h03

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