OVH Cloud OVH Cloud

bloquer l'envoi d'un formulaire

16 réponses
Avatar
sylvie
bonjour,

J'ai un formulaire, et dans la balise FORM j'ai un onsubmit="return test()"

et dans certains cas, la fonction test passe dans une condition avec
alert('toto');
return false;

Mais quand on appuye sur le bouton, que ca affiche toto....le formulaire est
quand même lancé.

Comment faire pour que le formulaire ne soit pas envoyer vers le serveur web
si la condition est validée ?

Merci.

6 réponses

1 2
Avatar
YD

Attention toutefois, sur Mac, une action vide + un base href provoque la
soumission du formulaire dans le base href et non la page courante !



certes, mais alors pourquoi sous windows on n'a pas ce comportement ? :)


OK, je n'avais pas compris où tu voulais en venir...

Après tests effectivement sous Windows, la soumission se fiche de la
présence du BASE, pourtant bien pris en compte pour les liens relatifs,
et ce dans IE6, FF1.04 et Op8.

La norme ne déterminant pas ce qui se produit en l'absence d'action à
la soumission du formulaire, toute latitude est laissée à
l'implémentation...

Moralité : il faut toujours préciser l'URI de l'action.

--
Y.D.



Avatar
Yann-Erwan Perio
YD wrote:

Moralité : il faut toujours préciser l'URI de l'action.


J'aime beaucoup les threads où il y a une morale à la fin:-)


Cheers,
Yep.

Avatar
Etienne SOBOLE
J'ai un formulaire, et dans la balise FORM j'ai un onsubmit="return
test()"
et dans certains cas, la fonction test passe dans une condition avec
alert('toto');
return false;


ce que tu as fait devrait marcher ca!

moi personellement je met le test dans le bouton submit.
sur l'evenement onclick

ca donne
<input type='submit' name='bouton' value='CLIC' onclick='return test();'>
et ca marche aussi.

Ceci dit comme ce que tu as fait a l'air correct, je suis perplexe.
un petit
alert('je suis ici');
juste avant ton return false te permettra de savoir si tu retourne bien
false à un moment dans ta fonction javascript.

Etienne

Avatar
Etienne SOBOLE
moi personellement je met le test dans le bouton submit.
sur l'evenement onclick
ca donne
<input type='submit' name='bouton' value='CLIC' onclick='return test();'>
et ca marche aussi.


Oui alors evidement j'ai dis une connerie ;)
En fait je fais
<input type='button' name='bouton' value='CLIC' onclick='return test();'>

et je retourne soit rien si je ne veux pas envoyer le form
soit je fais un form.submit(); pour poster le formulaire.

Donc c'est pas un bouton submit que j'utilise mais un bouton normal...
En fait ca semble un petit peu plus lourd qu'utiliser l'evenement onsubmit
du formulaire.
je me demande bien pourquoi je fais comme ca !!!

Etienne

Avatar
ASM

Oui alors evidement j'ai dis une connerie ;)


Pas grâve,
de ttes façons Sylvie est partie en vancances ... :-/

je me demande bien pourquoi je fais comme ca !!!


Ça doit rejoindre les autres complications
que tu affectionnes ?
du genre : iframes invisibles par dessus un form :-)

--
*******************************************************
Stéphane MORIAUX et son vieux Mac
*******************************************************

Avatar
Thibaut Allender
moi personellement je met le test dans le bouton submit.
sur l'evenement onclick


bof, si on le soumet au clavier avec qq tabs puis enter, y a pas de click...

--
thibaut allender | freelance | http://capsule.org

1 2