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 :

Comment attribuer plusieurs actions à un seul événement


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut Comment attribuer plusieurs actions à un seul événement
    bonsoir,
    Comment attribuer plusieurs actions à un seul événement, j’ai essayé sa et sa n’a rien donné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return verification('num','dt','kmn','nbr'); return verif();"
    merci.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Tu utilises 2 return dans ton évènement onsubmit, sauf que l'exécution s'arrête au premier return tout simplement...

    Si tu veux que le résultat de tes 2 fonctions valident la soumission de ton formulaire, il faudrait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return verification('num','dt','kmn','nbr') && verif();"
    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
    les fonctions retournent vrai ou false ...

    soit tu fais une focntion qui enchaine les autres fonctions et reoutnre un true ou false global

    soit tu fais un or
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onsubmit="return (verification('num','dt','kmn','nbr') || 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 averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    merci d'avoir répondu,
    j’essaierai vos deux réponses le soir et je vous répondrai.
    merci

  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
    heu oui ... && pas or
    besoin de vacances moi
    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
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    Bonjour et désolé pour le retard,
    Je ne sais pas pourquoi sa ne marche pas, j’ai fait exactement comme vous m’avez dit, voila je vous montre :
    - la 1ere fonction java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function verification(champ,champ2,champ3,champ4,champ5,champ6,champ7,champ8)
    {
     
     
    	if ((document.getElementById(champ).value == "") || (document.getElementById(champ2).value == "") || (document.getElementById(champ3).value == "") || (document.getElementById(champ4).value == "") || (document.getElementById(champ5).value == "") || (document.getElementById(champ6).value == "") || (document.getElementById(champ7).value == "") || (document.getElementById(champ8).value == ""))	
     
    	{
            alert("Veuillez remplir les champs obligatoires SVP");
    		return false;
        }
    return true;
    }
    cette fonction est pour les champs obligatoires.
    - 2eme fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function verif()
    {
    var input1 = parseInt(document.getElementById('km').value);
    var input2 = parseInt(document.getElementById('kmn').value);
     
    if (input2 < input1) {
    alert('Le champ Nouveau kilometrage doit etre superieur au champ Ancien kilometrage.');
    return false;
    } else
    return true;
    }
    Et je les appelle avec ce formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <form class="css"  onsubmit="return (verification('num','dt','kmn','nbr') && verif());" action="demdot.php
    		<?			
    			if ($_GET['action']=='modif')
    			{ echo "?action=modif&num=$_GET[num]";
    			}
    			else
    			if ($_GET['action']=='ajout')
    			{ echo "?action=ajout";
    			}
     
    		?>" method="post" >
    Donc j’ai utilisé la première proposition qui na pas fonctionné, et voila la deuxième qui n’a pas fonctionné aussi, je croix g pas su bien introduire vos réponses. Merci de votre aide.

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Peux-tu être plus explicite par rapport à ton pb ? Que se passe t-il exactement ? Y a t-il une erreur qui est remontée ?

  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 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
    Je me méfie toujours des || à rallonge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function verification(champ,champ2,champ3,champ4,champ5,champ6,champ7,champ8)
    {
     var flag=true
     
    flag=(document.getElementById(champ).value == "") && flag  flag=(document.getElementById(champ2).value == "") && flag flag=(document.getElementById(champ3).value == "") && flag flag=(document.getElementById(champ4).value == "") && flag flag=(document.getElementById(champ5).value == "") && flag flag=(document.getElementById(champ6).value == "") && flag flag=(document.getElementById(champ7).value == "") && flag flag=(document.getElementById(champ8).value == "") && flag	
    if (!flag){	
    	   alert("Veuillez remplir les champs obligatoires SVP");
    	    }
    return flag;
    }
    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 averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    Je vais essayer d’être plus claire.
    J'ai deux fonctions qui fassent un contrôle avant de soumettre les données quand j’ai fait sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return (verification('num','dt','kmn','nbr') && verif());"
    le contrôle ne s'effectue pas, par contre si je fait sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return verification('num','dt','kmn','nbr');"
    ou sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return verif();"
    le contrôle s'effectue normalement, mais moi ce que je veux faire c'est attribuer ces deux action dans un seul événement.merci

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Si les 2 fonctions de vérifications fonctionnement correctement de façon individuelle. Ce serait étonnant que javascript ne soit pas capable d'effectuer une opération booléenne "&&".

    Essaie de faire des alert sur le onsubmit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onsubmit="alert('verification = '+verification('num','dt','kmn','nbr')+'\nverif = '+verif()+'\nles deux ensembles = '+(verification('num','dt','kmn','nbr') && verif()));"
    A+

  11. #11
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    même chose, le contrôle ne s'effectue pas et y’a aucune alerte qui s’affiche.

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    S'il n'y aucune alerte, c'est qu'une fonction pose problème.
    Découpons l'alerte donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="alert('verification = '+verification('num','dt','kmn','nbr'));alert('verif = '+verif());alert('les deux ensembles = '+(verification('num','dt','kmn','nbr') && verif()));"
    En fonction des alertes, tu sauras quelle fonction pose pb

  13. #13
    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 : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Pas besoin de chercher bien loin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return (verification('num','dt','kmn','nbr')
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function verification(champ,champ2,champ3,champ4,champ5,champ6,champ7,champ8)
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  14. #14
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    même chose, ni d'alerte ni de contrôle.

  15. #15
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    Bovino, j'ai pas compris ce que vous voulez dire.

  16. #16
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Effectivement, Bovino a raison par rapport au pb, ta fonction verification attend 7 paramètres, et tu ne l'appelles qu'avec 4... En soit, javascript est capable d'effectuer l'opération, les paramètres manquant seront null... Par contre, dans le corps de ta fonction tu testes chaque paramètre, et c'est là qu'une erreur intervient...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(null).value
    soulève une erreur de type "NullPointerException"...

    Donc, tu peux éventuellement modifier ton appel de fonction pour inclure 7 paramètres cohérents, mais surtout dans le corps de ta fonction verification faire des tests sur l'existence des éléments dont tu vérifies la valeur...

    A+

  17. #17
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    excellent excellent sa marche
    C’était sa le problème, dans la fonction g déclaré 8 paramètres et j’ai fait appelle j’uste a 4 paramètres.
    Don ce que j’ai fait, dans la fonction j’ai laissé que 4 paramètres et sa a marché.
    Mais y’a un truc, c’est que cette fonction s’applique sur plusieurs formulaires et je doit laisser les 8 paramètres, ce qui fait y’a des formulaires qui contiennent 8 champs, et d’autres 2 champs…. Donc comme vous m’avez dit , comment je doit formuler ma fonction pour qu’elle vérifie d’abord l’existence d’un champ ?
    Je vous remercie encore de votre aide.

  18. #18
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    Voici un exemple
    dont je m'inspire
    lorsque j'ai un nombre variable de paramètres
    pour une 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
    <script type="text/javascript">
    function ajouter()
    {
       var nb = ajouter.arguments;
       var somme = 0;
       for(var i=0; i<nb.length; i++) {
          somme += nb[i];
       }
       return somme;
    };
     
    alert("addition(1,2) : "+ajouter(1,2));
    alert("addition(1,2,3,4) : "+ajouter(1,2,3,4));
    </script>
    A remarquer : la propriété arguments de l'objet ajouter (la fonction) ; c'est un tableau qui contient les arguments réellement passés.

    Fred

  19. #19
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    merci fred, je vais essayer d’adapter votre source à ce que je veux faire. Pour l’instant je v marquer cette discussion comme résolu, parce que vous avez répondu a toutes mes question, si j’aurai des problèmes a utiliser votre source je vous dérangerai encore. Merci tous de votre aide

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

Discussions similaires

  1. [PHP 5.1] Comment attribuer plusieurs valeurs à un même nom de variable
    Par franckhelin dans le forum Langage
    Réponses: 7
    Dernier message: 18/02/2015, 14h07
  2. [SQL Server 2005] Comment désactiver plusieurs jobs en seule action ?
    Par clementratel dans le forum Administration
    Réponses: 5
    Dernier message: 08/12/2009, 09h49
  3. Réponses: 6
    Dernier message: 18/05/2006, 09h29
  4. Réponses: 2
    Dernier message: 05/12/2002, 16h55

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