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 :

forcer la validation d'un formulaire sur fermeture fenetre


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 185
    Points : 97
    Points
    97
    Par défaut forcer la validation d'un formulaire sur fermeture fenetre
    Bonjour à tous, voila je cherche à forcer la validation d'un formulaire sur la détection de l'évenement unload sur un body comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <html>
    <head>
    <title>
    test javascript
    </title>
    <script type="text/javascript">
    function fermePage()
    {
    	if(confirm('Voulez-vous valider le formulaire ?'))
    	{
    		return true;
    	}
    	else
    	{
    		return false;
    		alert('validation annulée');
    		document.monForm.submit();
    		alert('formulaire validé');
    	}
    }
    </script>
    </head>
    <body onunload="javascript:fermePage();">
    <h1>ma page</h1>
    <form name="monForm" action="test2.html" method="get">
    <input type="text" name="toto" value="je suis toto">
    <input type="submit" name="bouton" value="valider">
    </form>
    </body>
    </html>
    mais biensur cela ne fonctionne pas...

    comment puis-je faire ??

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    onbeforeunload ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 185
    Points : 97
    Points
    97
    Par défaut
    marche pas non plus, en fait il faudrai empecher la page de se décharger et ensuite valider le formulaire mais je n'y arrive pas....

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par MortDansLAme Voir le message
    marche pas non plus, en fait il faudrai empecher la page de se décharger et ensuite valider le formulaire mais je n'y arrive pas....
    C'était la seule solution (même pas pour tous les nav, je crois).

    Il faudrait faire autrement. Par exemple obliger de valider le formulaire pour donner accès à la page ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  5. #5
    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
    montre nous ton code
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    Heu mais ta focntion là c'est du grand nawak !!!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <script type="text/javascript">
    function fermePage()
    {
    	if(confirm('Voulez-vous valider le formulaire ?'))
    	{       alert('formulaire validé'); 
    		document.monForm.submit();
    		return true;
    	}
    	else
    	{	alert('validation annulée');
    		return false;
     
    	}
    }
    </script>
    Après tout dépend du comportement que tu souhiates àprès la validation ...
    fermeture ou pas
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 185
    Points : 97
    Points
    97
    Par défaut
    oui je sais que c'est un peu nawak mais je suis archi débutant en javascript...

    je ne maitrise pas vraiment ce langage...

    là j'essaye autrement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function confirmer()
        {
     
            if(confirm("confirmer ?"))
            {
              document.unload();
            }
     
        }
     
    <body onunload="javascript:document.monForm.submit();">
    mais là j'ai IE et FFX qui me sortent que unload n'est pas une fonction...

    unload prend-t-il un paramètre ?

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    as tu essayé avec le code de la focntion rectifié que je t'ai donné ??
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    onUnload, avec une majuscule ^^

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    onUnload, avec une majuscule ^^
    NON !!!

    Toujours tout en minuscules.
    (et de toutes façons, l'instruction est fausse)

    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    et j'oubliais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onbeforeunload="return fermePage();">
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Ah ouais, c'est marrant j'avais toujours écrit avec une majuscule, je pensais que ca faisais rien sinon

    Comme quoi, on en apprend meme quand on s'y attend le moins ^^

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 185
    Points : 97
    Points
    97
    Par défaut
    alors... je reviens au nouvelles...

    j'ai une amélioration mais c'est assez étrange...

    je ne peut pas vous donner le code (close de confidentialitée oblige) mais je peut vous en expliquer le fonctionnement.

    j'ai plusieurs checkbox (environ 50) qui sont chacune dans un formulaire différent.

    j'ai besoin de ces checkbox pour un autre formulaire et comme il n'est pas possible de croiser plusieurs formulaires en HTML je rempli le second formulaire grace à une fonction javascript qui va transférer les valeures de la checkbox sélectionnée dans un inpu hidden du second formulaire.

    pour finir, j'ai plussieur possibilitée pour sortir de la page et mon second formulaire doit obligatoirement etre validé.

    je peut soit cliquer sur un lien, soit déclencher la validation d'un autre formulaire.

    grace à une fonction javascript située sur un onclick de chacun de ses éléments je force la validation du second formulaire.

    MON PROBLEME :

    sous IE ca fonctionne impec

    sous Firefox ca fonctionne de manière aléatoire... ca peut marcher 5 10 ou meme1000 fois d'affilé et d'un coup pour le même exemple, la même situation j'obtient un comportement différent...

    quelqu'un peut-il m'aider avant que fasse une crise malgrès que vous n'ayez pas de code ?

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 185
    Points : 97
    Points
    97
    Par défaut
    TROUVE !!!!!

    un probleme de cache sous Firefox...

    tout fonctionne impec lorsque la cache Firefox est vidée

    mais lorsque la cache contient quelquechose, le comportement de mon script devient hazardeux...

    quelqu'un à-t-il déjà rencontré ce problème ?

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

Discussions similaires

  1. Ouverture formulaire sur fermeture programme
    Par methylene dans le forum VB.NET
    Réponses: 6
    Dernier message: 02/07/2010, 10h47
  2. validation de plusieurs formulaires sur la meme page
    Par sheisqo dans le forum Langage
    Réponses: 3
    Dernier message: 26/03/2009, 21h55
  3. fermeture formulaire sur sortie d'un controle
    Par jesuisjosita dans le forum IHM
    Réponses: 2
    Dernier message: 14/07/2007, 12h34
  4. Réponses: 6
    Dernier message: 02/05/2006, 14h24
  5. Réponses: 2
    Dernier message: 03/02/2006, 15h12

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