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 :

formulaire soumis 2 fois avec IE


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut formulaire soumis 2 fois avec IE
    Bonjour à tous,
    j'ai un fomulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method='POST' action='./pages/inscription/toto.php' name='formulaire' onSubmit=\"PostSelect(this.name)\">
    Vous voyez que mon form appelle une fonction PostSelect, qui m'est utile pour récupérer le contenu d'un select au choix multiple
    Voici la fonction PostSelect :
    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
     
    function PostSelect(liste)
    {
    	// On compte le nombre d'item de la liste select
    	NbCol1 = document.forms[liste].elements.matiere.length;
     
    	// On lance une boucle pour selectionner tous les items
    	for(a=0; a<NbCol1; a++){
    		document.forms[liste].elements.matiere.options[a].selected = true;
    	}
     
    	// On modifie l'ID du champ select pour que PHP traite cette
    	// dernière comme un array
    	document.forms[liste].elements.matiere.name = "matiere[]";
     
    	// On soumet le formulaire
    	document.forms[liste].submit();
    }
    Avec FF, pas de problème, le test.php est appelé une fois, mais avec IE, le test.php est appelé 2 fois. J'ai pas trouvé de solution sur le net, que des bidouilles du genre créer une session pour controler le doublon, euh .. .y'a pas mieux ??????

    Merci

    EM.

  2. #2
    Expert éminent

    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
    Par défaut
    Bonjour,
    il suffit de bloquer l'envoi "classique" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onSubmit=\"PostSelect(this.name); return false;\"
    A+

  3. #3
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    oui bien que la methode classique voudrait que la fonction de vérification retourne true ou false et que le onsubmit soit de la forme:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return verif()"
    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 !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 89
    Par défaut
    vous êtes formidables
    le fonctionne parfaitement.
    C'était tellement simple, je me suis perdue dans d'autres réflexions
    Encore merci à vous

  5. #5
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Oui mais bon pour ton information voici un petit topo sur la methode classique de verification d'un formulaire ...
    http://www.developpez.net/forums/sho...d.php?t=557868
    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 !

  6. #6
    Expert éminent

    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
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Oui mais bon pour ton information voici un petit topo sur la methode classique de verification d'un formulaire ...
    http://www.developpez.net/forums/sho...d.php?t=557868
    Effectivement, bien qu'il ne s'agisse pas d'une vérification en soi, il serait plus logique de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	// On soumet le formulaire
    	document.forms[liste].submit();
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	// On autorise la soumission du formulaire
    	return true;
    ... en enlevant bien sûr le "return false;" précédent.

    A+

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

Discussions similaires

  1. Formulaire d'upload ne fonctionne qu'une fois avec le meme fichier
    Par tfour62 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/02/2015, 11h13
  2. [VB.NET] Formulaire word a remplir avec vb.net
    Par Monster77 dans le forum Windows Forms
    Réponses: 15
    Dernier message: 16/08/2011, 14h22
  3. Réponses: 2
    Dernier message: 21/12/2005, 19h33
  4. Formulaire et bouton submit avec image mapée
    Par dody dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/12/2004, 16h00

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