Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Javascript désactivé et clause onsubmit

8 réponses
Avatar
Patrice
Bonjour,

je me suis aperçu ce soir que, quelque soit le navigateur que j'utilise (IE
ou FF) les formulaires de mon site possédant une clause onsubmit="return
truc()" (où truc() retourne *true* si tout va bien, et *false* sinon,
suivant la validité des paramètres rentrés) étaient soumis par défaut
lorsque le javascript est désactivé. Comment faire pour que, lorsque le
javascript est désactivé, mes formulaires ne puissent pas être soumis?

Merci d'avance de votre aide et bonne soirée,

P.C.

--
"Avec internet, on peut faire n'importe quoi. On peut empêcher ces sites
d'être utilisables en France. Ils le font bien en Chine". (Benoît, Kyo)

8 réponses

Avatar
Mickaël Wolff
Comment faire pour que, lorsque le
javascript est désactivé, mes formulaires ne puissent pas être soumis?


Ne pas insérer de formulaire.
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Avatar
Bruno Desthuilliers
Bonjour,

je me suis aperçu ce soir que, quelque soit le navigateur que j'utilise (IE
ou FF) les formulaires de mon site possédant une clause onsubmit="return
truc()" (où truc() retourne *true* si tout va bien, et *false* sinon,
suivant la validité des paramètres rentrés) étaient soumis par défaut
lorsque le javascript est désactivé.


Non ? C'est pas vrai ? Tu veux dire que sans javascript, le javascript
ne fonctionne pas ? Incroyable !!!

Comment faire pour que, lorsque le
javascript est désactivé, mes formulaires ne puissent pas être soumis?


La suggestion de Mickaël me semble assez appropriée. Sinon, tu peux
aussi envisager d'apprendre le B-A-BA de la programmation web, à savoir
comment gérer un formulaire côté serveur...

Avatar
Olivier Miakinen
Le 07/05/2008 02:04, Mickaël Wolff répondait à Patrice :

Comment faire pour que, lorsque le
javascript est désactivé, mes formulaires ne puissent pas être soumis?


Ne pas insérer de formulaire.


Pour que Patrick ne croie pas à une simple plaisanterie, je précise :
il suffit que ce soit JavaScript qui insère le formulaire (ou tout
simplement qu'il rendre visible un formulaire en « display: none; »).


Avatar
Olivier Miakinen
[ message republié à cause d'une faute sur le prénom ]

Le 07/05/2008 02:04, Mickaël Wolff répondait à Patrice :

Comment faire pour que, lorsque le
javascript est désactivé, mes formulaires ne puissent pas être soumis?


Ne pas insérer de formulaire.


Pour que Patrice ne croie pas à une simple plaisanterie, je précise :
il suffit que ce soit JavaScript qui insère le formulaire (ou tout
simplement qu'il rendre visible un formulaire en « display: none; »).


Avatar
Bruno Desthuilliers
[ message republié à cause d'une faute sur le prénom ]

Le 07/05/2008 02:04, Mickaël Wolff répondait à Patrice :
Comment faire pour que, lorsque le
javascript est désactivé, mes formulaires ne puissent pas être soumis?
Ne pas insérer de formulaire.



Pour que Patrice ne croie pas à une simple plaisanterie, je précise :
il suffit que ce soit JavaScript qui insère le formulaire (ou tout
simplement qu'il rendre visible un formulaire en « display: none; »).


Attention, cette dernière solution ne bloquera qu'un user-agent
supportant les CSS.



Avatar
SAM
Bonjour,

je me suis aperçu ce soir que, quelque soit le navigateur que j'utilise (IE
ou FF) les formulaires de mon site possédant une clause onsubmit="return
truc()" (où truc() retourne *true* si tout va bien, et *false* sinon,
suivant la validité des paramètres rentrés) étaient soumis par défaut
lorsque le javascript est désactivé. Comment faire pour que, lorsque le
javascript est désactivé, mes formulaires ne puissent pas être soumis?


Sans JS *il faut que ça fonctionne*

Donc soit ton JS n'est qu'un pré-vérificateur de remplissage de champs
pour éviter l'aller-retour au serveur et ça n'a pas d'importance puisque
tu as prévu les mêmes vérifs côté serveur qui renverront le formulaire à
compléter jusqu'à ce soit OK.

Soit le JS doit vraiment faire qque chose avant d'envoyer et ... cela
est à éviter absolument ! ! ! !

Le JavaScript n'est qu'une béquille, un truc pour faciliter certaines
choses sur les page sans aller solliciter le serveur.

Bon ... maintenant avec l'essor d'Ajax ... beaucoup de sites font
l'impasse sur le "ça *doit* fonctionner sans JS".

Je ne les en blâmerai pas plus que ça ... y a bien d'autres sites qui ne
fonctionnent qu'en Flash :-(

--
sm

Avatar
Patrice
SAM wrote:
...

Donc soit ton JS n'est qu'un pré-vérificateur de remplissage de champs
pour éviter l'aller-retour au serveur et ça n'a pas d'importance
puisque tu as prévu les mêmes vérifs côté serveur qui renverront le
formulaire à compléter jusqu'à ce soit OK.

Soit le JS doit vraiment faire qque chose avant d'envoyer et ... cela
est à éviter absolument ! ! ! !


OK OK merci à tous de vos réponses. En ce qui me concerne, le javascript est
là dans le but d'éviter à l'utilisateur de faire des erreurs dans le
formulaire (par exemple, il vérifie qu'il a mis deux fois le même mot de
passe dans les deux champs prévus à cet effet) et les vérifications
importantes (genre: est-ce qu'il a mis une adresse e-mail valide? Ou est-ce
qu'il n'a pas mis du html/php dans son pseudonyme?) sont refaites coté
serveur. Je m'étais imaginé, mais peut être était-ce valable avec un "vieux"
browser (IE3 ou IE4), qu'un formulaire contenant une clause onsubmit
bloquait forcément la soumission dans le cas où le javascript était
désactivé. Ca n'a pas l'air d'être le cas et ça m'aurait bien arrangé, mais
il existe effectivement des solutions pour pallier cela (merci aux autres
contributeurs pour me les avoir suggérées).



Bonne soirée à tous,

PC

Avatar
Olivier Miakinen

[...] les vérifications
importantes (genre: est-ce qu'il a mis une adresse e-mail valide?


Juste pour savoir : est-ce que mon adresse passe
ton test avec succès ? Si oui, c'est bien. Sinon, lire par exemple
<http://faqfclphp.free.fr/#rub5.3>.