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 :

Alerte en quittant un formulaire


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Alerte en quittant un formulaire
    Slt,
    SVP je veux savoir comment envoyer un message d'alerte à l'utilisateur lorsqu'il veut quitter le formulaire en cours sans enregistrer ses données ni les envoyer sous peine de perdre les informations saisies.
    Veut dire de lui avertir qu'il risque de perdre ses données.
    j'ai essaié de faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script>
    function si_contenu()
    {	
        if (document.getElementById("message").value!= "")
    	{
    var alert = 'Vous avez des donn\351es non envoy\351es.';
    return alert;
    }
     
    }
     
    window.onbeforeunload  = si_contenu; 
    </script>
    Mais le problème c'est que l'alert fonctionne même le moment où je clique sur le bouton submit pour envoyer le formulaire. comment peux je faire ??

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    si l'utilisateur quitte la page il ne verra meme pas un éventuel avertissement, et d'autre part je ne vois pas comment savoir que la personne est en train de quitter le formulaire à part de changer de page ou de cliquer sur un lien, donc le mieux c'est peut-etre de lui afficher l'avertissement en écrit juste en dessous du formulaire.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function si_contenu()
    {	
        if (document.getElementById("message").value!= "")
    	{
    alert('Vous avez des données non envoyées.');
    }
     
    }
     
    window.onbeforeunload  = si_contenu;
    Cependant, tu ne pourras pas empêcher le changement de page.

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    et avec un return false ????

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    pas sur un onunload ou onbeforeunload !

    EDIT :
    En fait, il semble effectivement qu'avec return false, FF (en tout cas) propose de rester sur la page...

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Bon, ben en fait oui, sur le onbeforeunload, tu peux effectivement faire un return qui affiche un message (par exemple return "Vous n'avez pas rempli tous les champs") et te propose de rester sur la page !

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    Il reste sur la page mais est-ce qu'il garde les données qui étaient affichées dans le formulaire ?
    Sinon c'est super cette astuce je connaissais pas, merci !!!

Discussions similaires

  1. ne pas sauvegarder en quittant un formulaire
    Par orfeu dans le forum IHM
    Réponses: 4
    Dernier message: 15/12/2011, 19h00
  2. Enregistrer les paramêtres en quittant un formulaire?
    Par Paul Van Walleghem dans le forum Windows Forms
    Réponses: 5
    Dernier message: 24/10/2008, 19h56
  3. message d'alerte en "live" à la saisie dans un formulaire
    Par arnogef dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 12/02/2007, 00h53
  4. Formulaire message alerte en fonction d'un test
    Par arnogef dans le forum Langage
    Réponses: 9
    Dernier message: 08/02/2007, 09h38
  5. [Formulaire] Alerte avant suppression d'une donnée via un formulaire
    Par leloup84 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/01/2006, 10h50

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