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 :

Fonction valider formulaire appelle 2 fois la même page. Comment éviter celà ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut Fonction valider formulaire appelle 2 fois la même page. Comment éviter celà ?
    Bonjour,

    J'ai un problème. Si quelqu'un peut m'aider.
    J'ai créé une fonction javascript pour valier un formulaire. le fichier de cette fonction est appelée dans la page. Le problème je ne sais pas pourquoi mais la fonction recharge 2 fois la page et provoque ainsi 2 insertions côté PHP.
    Si j'enlève la fonction, tout marche correctement, mais j'ai besoin de cette fonction javascript. Pourriez-vous SVP ce qui cloche dans ma fonction javascript SVP ? P.S. Je ne connais rien enn javascript.

    Voici la fonction :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    // Controle QUESTIONS
     
    function verificationQuestion(formulaire){
     
    frcontrole1 = "Le traitement n'a pas abouti !\n";
    frcontrole2 = "Erreur : ";
    encontrole1 = "Action not completed !\n";
    encontrole2 = "Error : ";
     
     
     
    if (formulaire.nom.value == "")
    {
    	if(formulaire.langue.value == "fr") {
    		alert(frcontrole1+frcontrole2+'NOM');
    		return false;
    	}
    	if(formulaire.langue.value == "en") {
    		alert(encontrole1+encontrole2+'SURNAME');
    		return false;
    	}
    }
     
    else if (formulaire.pays.value == "")
    {
    	if(formulaire.langue.value == "fr") {
    		alert(frcontrole1+frcontrole2+'PAYS');
    		return false;
    	}
    	if(formulaire.langue.value == "en") {
    		alert(encontrole1+encontrole2+'CITY');
    		return false;
    	}
    }
     
    else if (formulaire.message.value == "")
    {
    	if(formulaire.langue.value == "fr") {
    		alert(frcontrole1+frcontrole2+'MESSAGE');
    		return false;
    	}
    	if(formulaire.langue.value == "en") {
    		alert(encontrole1+encontrole2+'MESSAGE');
    		return false;
    	}
    }
     
     
     
    else{
    formulaire.submit();
    }
     
    }
    Voici l'appel de la fonction dans le formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name="formulaire" onsubmit="javascript : return verificationQuestion(this);
    D'avance je vous remercie beaucoup

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Le fonctionnement en javascript concernant la validation d'n formulaire est le suivant :
    - le onSubmit appel une fonction javascript
    - en fonction du retour de cette fonction (true ou false) le submit est fais.

    LE problème c'est que dans ta méthode tu fais formulaire.submit(); donc le formulaire est envoyé, comme tu ne retourne rien on considère que c'est vrai donc le formulaire est ré-envoyé par la page.

    Remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    formulaire.submit();
    par
    et ça devrait fonctionner.

  3. #3
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut
    wawooo
    Tu es génial. ça marche nickel.

    Merci beaucoup

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

Discussions similaires

  1. [PHP 5.4] Validation formulaire Method POST sur la même page
    Par actarus4444 dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2014, 22h13
  2. [Online] Appeler plusieurs fois la même fonction JS dans un form
    Par reitsab dans le forum Microsoft Dynamics CRM
    Réponses: 3
    Dernier message: 23/08/2011, 14h59
  3. Réponses: 4
    Dernier message: 04/09/2007, 08h55
  4. Réponses: 4
    Dernier message: 19/04/2007, 15h36
  5. fonctions et formulaires appel de fonction
    Par commedab dans le forum Langage
    Réponses: 3
    Dernier message: 23/03/2007, 12h47

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