bonsoir,
Comment attribuer plusieurs actions à un seul événement, j’ai essayé sa et sa n’a rien donné :
merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part onsubmit="return verification('num','dt','kmn','nbr'); return verif();"
bonsoir,
Comment attribuer plusieurs actions à un seul événement, j’ai essayé sa et sa n’a rien donné :
merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part onsubmit="return verification('num','dt','kmn','nbr'); return verif();"
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 :
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part onsubmit="return verification('num','dt','kmn','nbr') && verif();"
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 !
merci d'avoir répondu,
j’essaierai vos deux réponses le soir et je vous répondrai.
merci
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 !
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:
cette fonction est pour les champs obligatoires.
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; }
- 2eme fonction:
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 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; }
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.
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" >
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 ?
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 !
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
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') && verif());"
ou sa
Code : Sélectionner tout - Visualiser dans une fenêtre à part onsubmit="return verification('num','dt','kmn','nbr');"
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part onsubmit="return verif();"
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 :
A+
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()));"
même chose, le contrôle ne s'effectue pas et y’a aucune alerte qui s’affiche.![]()
S'il n'y aucune alerte, c'est qu'une fonction pose problème.
Découpons l'alerte donc :
En fonction des alertes, tu sauras quelle fonction pose pb
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()));"
Pas besoin de chercher bien loin
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part onsubmit="return (verification('num','dt','kmn','nbr')
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 JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
même chose, ni d'alerte ni de contrôle.
Bovino, j'ai pas compris ce que vous voulez dire.
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...
soulève une erreur de type "NullPointerException"...
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById(null).value
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+
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.
Voici un exemple
dont je m'inspire
lorsque j'ai un nombre variable de paramètres
pour une fonction :
A remarquer : la propriété arguments de l'objet ajouter (la fonction) ; c'est un tableau qui contient les arguments réellement passés.
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>
Fred
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
Partager