[WEB][JAVASCRIPT]Envoi d'un form

Bonjour a tous,

Voila, j’ai un problème avec un formulaire.

Tout bête, il y a 2 listes déroulante et 2 input texte ainsi qu’une case a cocher et un boutton submit.

L’utilisateur rempli le formulaire et coche la checkbox pour accepter les conditions d’utilisation et clique sur envoyer (POST). La ou j’ai mon problème, c’est que je voudrais que quand la checkbox est cochée, il ne soit plus possible de modifier les listes et les champs texte.

J’ai bien tenté de passer les champs a disabled quand la case est cochée, mais apparement les donnée ne sont pas envoyée lorsque les champs sont désactivés.

Voila, pour le moment j’utilise un onFocus=this.blur() sur les champs texte et un onFocus=Case_a_cocher.focus() pour les listes déroulante.

Ca fonctionne mais ce n’est pas très visible et j’ai peur que l’utilisateur pense a un bug et qu’on recoive 1012 coup de fil de “Votre site est cassé, quand je clique sur le menu déroulant, il se referme direct…”

De plus, en faisant mes tests j’ai remarqué que quelque fois j’arrivais quand meme a acceder et changer la valeur de la liste. Bug?

Donc voila, si qqn a une idée de la facon dont je pourrais faire ca. J’ai aussi pensé a un genre de masque transparent que je pourrais mettre par dessus en CSS mais je ne suis arrivé a rien de très convainquant.

Merci d’avance

Et si tu mets du readonly à la place du disabled ça passe ?

Idée comme ça : tu as essayé readonly (pas certain que ça fonctionne sur les , cela dit) ?
Sinon, est-ce vraiment nécessaire ? Non je veux pas dire, mais désactiver les champs comme tu le décris, je ne vois pas l’interêt. :stuck_out_tongue: (Oui bon, c’est sûrement classe)

EDIT : Grillaide, et bien.

Merci pour le readonly, j’y pensais plus :stuck_out_tongue:

Mais bon, effectivement ca ne fonctionne pas pour le .

Merci quand même :stuck_out_tongue:

Sinon, je veux desactiver les champs de cette manière parce que le formulaire permet de commander des billets pour un spectacle. Et en fait, quand on clique sur la case a cocher, je calcule aussi la disponibilité des places et le prix. Je veux donc desactiver les champs pour empêcher que l’utilisateur ne modifie les valeurs après que le calcul ait été fait.

En gros c’est ca.

Et si tu essayais en mettant ton thread dans le sous-forum Web-dev? :stuck_out_tongue:

Sinon tu sais pas via un onClick envoyer ton formulaire a une fonction javascript qui modifiera le type de tes champs?

[quote=« Ekik, post:4, topic: 28127 »]Sinon, je veux desactiver les champs de cette manière parce que le formulaire permet de commander des billets pour un spectacle. Et en fait, quand on clique sur la case a cocher, je calcule aussi la disponibilité des places et le prix. Je veux donc desactiver les champs pour empêcher que l’utilisateur ne modifie les valeurs après que le calcul ait été fait.

En gros c’est ca.[/quote]
Ah ok. Perso j’aurais fait un bouton « Calculer le prix » qui ferait tes calculs puis afficherait ensuite un récapitulatif en dessous, avec le prix et la disponibilité ainsi que la case des conditions générales de ventes et un bouton « Valider » (et pourquoi pas, se renommerait en « Recalculer le prix »). :stuck_out_tongue:

Enfin bref : bon courage. :stuck_out_tongue:

[quote=« sista, post:6, topic: 28127 »]Et si tu essayais en mettant ton thread dans le sous-forum Web-dev?

Sinon tu sais pas via un onClick envoyer ton formulaire a une fonction javascript qui modifiera le type de tes champs?[/quote]
Oups, 1000 excuses. Si qqn veut bien déplacer ce thread. :stuck_out_tongue:

Disons que pour les champs texte, pas grand problème, le readonly ou mon this.blur() fait l’affaire. Le réel prob c’est mes listes déroulantes.

Ah ben en fait, c’est ca que j’ai fait, j’ai bien un bouton Calculer le prix qui fait ca, j’ai loupé un bout dans mon explication :stuck_out_tongue:

Merci B)

J’ai déjà eu affaire à ça : la seule solution que j’avais trouvée c’est un "input type=‹ hidden › " qui contenait la même valeur que le champ qui peut être à « disabled ». Comme ça la valeur est quand même envoyée.

Si quelqu’un a mieux, je suis également preneur :stuck_out_tongue:

Par contre corrige moi si je me trompe, mais il me semble que sous IE le problème n’apparaît pas.

Oui j’y ai pensé a ca, mettre mes valeur dans des variables avant de desactiver les champs.

Mais comment je peux faire pour envoyer les valeurs du form si c’est du POST?

Sinon le problème m’est apparu sous IE, sous FF j’ai pas essayé

Au pire, quand la personne coche la checkbox, tu readonly les input et tu remplaces ton select par un span dont l’innerHTML est la valeur, et un input type hidden pour la variable a envoyer…
S’il décoche, tu remets le select -,-

C’est moche ? Peut-etre, mais ca fonctionne ;p

[quote=“Ekik, post:9, topic: 28127”]Oui j’y ai pensé a ca, mettre mes valeur dans des variables avant de desactiver les champs.

Mais comment je peux faire pour envoyer les valeurs du form si c’est du POST?

Sinon le problème m’est apparu sous IE, sous FF j’ai pas essayé[/quote]

Si tu utilises un champ input caché (“type=hidden”), il sera automatiquement envoyé avec le formulaire.