formulaire choix multiple [OK]

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Répondre
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

formulaire choix multiple [OK]

Message par arno. »

Bonjour, j'ai un formulaire avec plusieurs champs.

Parmi ces champs, il y en a qui peuvent avoir plusieurs réponses possibles. Par exemple, on peut chosir plusieurs parfums de glace parmi une vingtaine qui existent :

Donc, on peut taper :
poire, raisin, chocolat
et le serveur traite tout ça.

Pour afficher la liste des parfums possibles, pour l'instant, il y a un lien (liste), et quand on clique dessus, ça affiche une fenêtre pop-up. Chaque choix est accompagné d'une checkbox. On en sélectionne plusieurs, et on valide. Le champ

Ensuite, le serveur traite tout ça derriére. Le champ input de la page appelante est alors mis à jour (par javascript).

J'aimerais rendre cela, au pire, plus ergonomique, et plus accessible, et si possible, me passer complétement de javascript. Comme solution, j'ai trouvé celle - là, qui consiste à avoir une liste (une balise select peut-être), et lorsqu'on clique sur un item, ça l'ajoute ah champ input. Mais malheureusement, ça ne permet pas de se passer de javascript.

http://forum.alsacreations.com/topic.ph ... 0&tid=7478

J'ai pensé à utiliser des checkbox, mais si il y a beaucoup de choix possibles, ça risque de surcharger beaucoup la page.

Quelqu'un a-t-il des meilleures idées pour résoudre ce problème ?

merci beaucoup.

edit :
voilà un exemple :
http://ffsearchplugins.free.fr/divers/issue.html
Dernière modification par arno. le 08 mars 2006, 01:12, modifié 1 fois.
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

Message par arno. »

Je viens de découvrir l'attribut multiple. Au début, j'étais assez content, mais en fait, ça ne va pas parceque, on peut choisir plusieurs parfums de glace, mais on peut aussi n'en choisir aucun (oui oui, je sais, ça semble bizarre, mais en fait, j'ai mis des parfums de glaces pour que mon exemple soit plus attractif ; en réalité, il s'agit de dépendances de bugs).

Le problème donc, est que si je commence à sélectionner, et que je me rends compte que je me suis trompé, je ne peux pas déselectionner (au moins avec Firefox et Opéra). Je pourrais mettre une option : aucun parfum, mais du coup, on pourrait sélectionner : aucun parfum en même temps que des parfums.

Bref c'est l'impasse.
Est-ce que c'est moi qui ai loupé quelque chose :?:
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Est-ce que tu n'aurait pas meilleur temps de te tourner vers les X-forms ou les Web Forms ? Je ne sais pas quel est le support par contre… :roll:

À la limite, tu mets un <select> normal, et un bon contrôle sur le serveur renvoyant le formulaire pré-rempli avec ce que l'utilisateur avait rempli correctement, et un gros texte "Erreur" là où il y a erreur ?
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

XForms c'est simple, le support est nul :) À part une extension pour Firefox encore en développement et les formats OpenOffice.org (mais c'est pas du Web) ce n'est pas utilisé.

Web Forms 2 c'est également en cours de développement mais tu peux t'attendre à ce que ça tourne au moins dans trois des quatre principaux moteurs de navigateurs dans un futur assez proche (quelques mois à un an je pense). Par contre c'est prévu pour pouvoir toujours fonctionner dans IE avec quelques rustines en JavaScript, et tu dois toujours traiter les anciens clients côté serveur... donc retour à la case départ :)

Tu es sur la bonne voie avec les select multiple à mon avis. Je te conseille simplement de conserver le choix "aucun parfum" et de l'ignorer côté serveur. S'il est coché en même temps qu'un parfum le parfum sera choisi, si il n'y a que lui qui est coché rien ne sera choisi. Et juste un petit JavaScript pour le décocher si tu choisis autre chose pour que ça soit plus visuellement cohérent chez les gens qui ont JavaScript.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

Message par arno. »

Calimo, vu que mon objectif est de rendre la page plus accessible, je ne vais pas utiliser des technologies très peu voire pas du tout implémentées.
Mais je note tes idées dans un coin de ma tête au cas où j'ai un jour, à faire, une interface "firefox only".
Benoit a écrit : Tu es sur la bonne voie avec les select multiple à mon avis. Je te conseille simplement de conserver le choix "aucun parfum" et de l'ignorer côté serveur. S'il est coché en même temps qu'un parfum le parfum sera choisi, si il n'y a que lui qui est coché rien ne sera choisi. Et juste un petit JavaScript pour le décocher si tu choisis autre chose pour que ça soit plus visuellement cohérent chez les gens qui ont JavaScript.
aïe aïe aïe.
J'ai oublié de préciser que j'ai une contrainte supplémentaire. :( J'essaye de toucher le moins possible au traitement côté serveur. Sinon, cela risque de ne pas être pratique lors des mises à jour.
Du coup, je crois que je vais quand même m'orienter vers la solution trouvée sur le forum alsacréations.

Ce n'est pas optimal, mais ça me permet de ne modifier que les templates html, et ça reste toujours accessible (même si pas pratique) sans javascript.
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

arno. a écrit :J'ai oublié de préciser que j'ai une contrainte supplémentaire. :( J'essaye de toucher le moins possible au traitement côté serveur. Sinon, cela risque de ne pas être pratique lors des mises à jour.
Le cas des select multiple est quand même assez courant. Et je ne vois pas la différence entre ignorer un cas sur le serveur ou utiliser une fonction de séparation sur la virgule. Dans les deux cas tu dois faire un traitement sur la réponse, non ?
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

Message par arno. »

La différence, c'est que le logiciel que j'utilise (roundup) fonctionne pour l'instant avec une séparation sur la virgule.
Je peux modifier les templates html sans problème, parcequ'il sont dans le répertoire du "tracker". Par contre, si maintenant j'envoye au serveur autre chose qu'une liste séparée par des virgules, il va falloir que je modifie directement le code de roundup. Et donc, lors des mises à jour de roundup, il faudra que je le refasse. C'est ce que j'essaye d'éviter.
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Mais c'est un logiciel open source, tu peux leur suggérer de le faire pour tout le monde :)
http://sourceforge.net/tracker/?group_i ... tid=402791
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

Message par arno. »

C'est une bonne idée ça, je vais essayer de leur proposer.
merci
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

Message par arno. »

Je viens de me replonger la dedans, et je me suis apperçu que :
* ça serait relativement compliqué de modifier roundup pour ça
* par contre, je n'y avais pas pensé, mais j'ai la possibilité de capturer les modifs avant qu'elles ne soient effectives, via des fichiers dans le répertoire tracker. Il me suffit donc d'effectuer le traitement de nettoyage à cet endroit. C'était tout bête, mais il fallait y penser :idea:
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités