OVH Cloud OVH Cloud

onSubmit 2 x ?

5 réponses
Avatar
Jean Passe
Salut,

Ne connaissant pas grand chose en JS j'ai cherché sans trouver la réponse.

J'ai un formulaire simple, 2 fonctions : une qui vérifie que l'adresse
e-mail saisi par le visiteur est à peu près correcte, puis l'autre qui
vérifie que tous les champs sont bien remplis. Rien de sorcier donc.
Mais je fais exécuter ces 2 fonctions comment ?
si je met onSubmit avec une des foctions c'est Ok, mais comment en mettre 2
? Si je mets 2 x un onSubmit, ça marche pas...

Merci.
A+

5 réponses

Avatar
YD

J'ai un formulaire simple, 2 fonctions : une qui vérifie que l'adresse
e-mail saisi par le visiteur est à peu près correcte, puis l'autre qui
vérifie que tous les champs sont bien remplis. Rien de sorcier donc.
Mais je fais exécuter ces 2 fonctions comment ?
si je met onSubmit avec une des foctions c'est Ok, mais comment en mettre 2
? Si je mets 2 x un onSubmit, ça marche pas...


Soit tu regroupes les deux fonctions en une seule,

soit tu écris une fonction qui appelle les deux autres et
c'est celle-là que tu appelles par le submit,

soit (le plus économique ;-) ) tu appelles les deux fonctions
dans le onsubmit - je suppose que tes fonctions renvoient vrai
ou faux et que les deux doivent renvoyer vrai pour que le
formulaire soit soumis :

<form action="..." method="..." onsubmit="return f1() && f2();">...

--
Y.D.

Avatar
Jean Passe
Salut,

soit (le plus économique ;-) ) tu appelles les deux fonctions
dans le onsubmit - je suppose que tes fonctions renvoient vrai
ou faux et que les deux doivent renvoyer vrai pour que le
formulaire soit soumis :

<form action="..." method="..." onsubmit="return f1() && f2();">...


Ok, je ne savais pas que l'on pouvait concaténer les fonctions de cette
façon.

Merci
A+

Avatar
YD

<form action="..." method="..." onsubmit="return f1() && f2();">...



Ok, je ne savais pas que l'on pouvait concaténer les fonctions de cette
façon.


On ne les concatène pas -- on réserve ce terme aux chaînes.

&& correspond au ET logique qui renvoie true si ses deux opérandes sont
true, il renvoie false dans les autres cas.

--
Y.D.


Avatar
Jean Passe
Salut,

<form action="..." method="..." onsubmit="return f1() && f2();">...



Ok, je ne savais pas que l'on pouvait concaténer les fonctions de cette
façon.


On ne les concatène pas -- on réserve ce terme aux chaînes.

&& correspond au ET logique qui renvoie true si ses deux opérandes sont
true, il renvoie false dans les autres cas.


Mrd, c'est pour ça, quand j'ai ajouté une autre fonction qui devrait être
exécutée sur le onSubmit ça ne fonctionnait pas.
Comment il faut faire alors (j'ai cherché un peu partout dans mes bouquins
mais je ne trouve rien du tout :-( ...

J'ai donc 2 fonctions qui renvoient True ou False, soit fonction1() et
fonction2().
Dans le onSubmit j'ai donc fait comme tu as dit : "return Fonction1() &&
Fonction2()".
Maintenant j'ai une 3e fonction, mais elle ne renvoie rien du tout, elle
s'exécute c'est tout.
Je voudrais qu'elle s'exécute avant les 2 autres sur le onSubmit. Alors je
pensais l'intégrer, mais ça ne marche pas.

Merci.
A+



Avatar
YD

J'ai donc 2 fonctions qui renvoient True ou False, soit fonction1() et
fonction2().
Dans le onSubmit j'ai donc fait comme tu as dit : "return Fonction1() &&
Fonction2()".
Maintenant j'ai une 3e fonction, mais elle ne renvoie rien du tout, elle
s'exécute c'est tout.


onsubmit="Fonction3(); return Fonction1() && Fonction2();"

La valeur du onsubmit est le texte d'une fonction, on peut donc y utiliser
tous les opérateurs du javascript, y compris le ; ! La seule contrainte est
d'écrire le tout sur une seule ligne...

--
Y.D.