Aller au contenu

Choisissez une option parmi les 1300 proposées !


Sharpshooter

Messages recommandés

Voilà, toujours dans mon problème de formulaire en ligne, je veux que l'utilisateur puisse sélectionner une ou plusieurs options parmi... plus de 1300 (des noms de communes en fait) !

L'idéal est généralement l'utilisation de cases à cocher mais une liste de 1300 cases ça va faire peur aux utilisateurs et je les comprends !

Pour le moment j'en suis resté à la solution d'un menu représentant les départements (4). En fonction du choix ça alimente une liste d'options (300 environ par département) et des boutons permettent d'ajouter ou de retirer une commune de cette liste vers une liste finale.

N'ayant pas la prétention d'avoir trouvé LA solution idéale je fais appel à vous pour savoir comment vous feriez dans un cas pareil.

Lien à poster

Pas mal le truc de la liste automatique. Si j'ai le temps (j'en doute) je me pencherais dessus au cas où.

Petit détail que j'ai oublié de préciser : les utilisateurs ne doivent pas pouvoir saisir eux-mêmes les noms (risques de fautes de frappe, homonymes impossibles à départager, etc.). Sinon ce serait trop facile. :D

Lien à poster

dans une appli web qu'on développe, le collèue a fait une map cliackable France -> région/département -> etc.

Sinon, l'auto-complete est pas mal non plus ( + validator pour éviter une saisie inexistante) mais le problème est qu'il y a un appel statique pour chaqué génération partielle de liste... certes, c'est léger m'enfin bon, intérêt de limiter à un nombre de caractère mini saisis avant de proposer la liste d'autocomplétion.

Lien à poster

Une solution exploitant l'api google map est pas mal. C'est ce que j'utilise sur mon site. L'itilisateur clique sur la carte et via ajax je lui propose la listes des villes présentes dans un rayon de x km.

Grâce à la bse de données du NIMA et à la formule de la distance orthodromique, on peut les récupérer en une requête :

SELECT FULL_NAME_ND,

(6366*acos(cos(radians($lon))*cos(radians(LAT))*cos(radians(LON)-radians($lat))+sin(radians($lon))*sin(radians(LAT)))) as Proximite

from àgeolocà where CC1à='FR'

having Proximite<10

order by FULL_NAME_ND

C'est une solution pratique pour selectionner un point en particulier, mais je ne sais pas si ça peut t'aider.

Sinon, comme d'autres le proposent en effet : Un déroulant région qui affiche un déroulant departement (ajax) qui affiche un déroulant ville (ajax)

Lien à poster

Dans la série "j'vous ai pas tout dit", j'ai oublié de préciser que l'utilisateur peut avoir 15, 20 voire 60 (cas extrême) communes à saisir.

Certaines solutions sont intéressantes mais elles sont faites pour choisir une commune. Dans le cas de quelques dizaines ça devient plus lourd.

Je n'ai pas trouvé d'autocomplétion qui interdise une saisie libre. De toute façon le temps me manque pour tester des solutions.

Lien à poster

Je n'ai pas trouvé d'autocomplétion qui interdise une saisie libre. De toute façon le temps me manque pour tester des solutions.

Si, ce n'est qu'une question de conception. Un champ textbox dans lequel la personne saisit les premières lettres de la ville et juste en dessous un champ select qui se raffraichit en AJAX à chaque fois qu'une lettre est saisie. L'utilisateur choisit ensuite la ville dans le select. Il n'y a pas de saisie libre.

Pour alléger le tout tu peux ne déclencher la requête Ajax qu'à partir de 2 ou 3 lettres saisies.

Lien à poster

Moi je dis qu'un champ permettant de saisir le nombre de communes désirées (15, 20, 60 ...) et un bouton "J'ai de la chance" devraient suffire ...

Dans les 60, il y en a bien une qui va correspondre à ce que veut l'utilisateur, et si ce n'est pas le cas l'utilisateur sera invité à se jeter par la fenêtre ...

Apres dans la liste, il va y en avoir quoi ? 5% de juste ?

C'est pas pire que bon nombre de solutions déja mises en oeuvre par les gros éditeurs ^_^

Si tu avais du temps je te conseillerais une présentation par onglets, sur 2 ou 3 lignes, avec une liste alphabétique (l'onglet des communes commencants par A, celui des B, celui des C, ..., celui des "W,X,Y,Z") en regroupant certans onglets suivant leur nombre de commune

Ainsi, si tu cherches une commune qui commence par V, un simple click sur l'onglet "V" te donne la liste des communes commencant par "V" (cela évite de taper une lettre et valider, ou d'avoir une autocompletion peut être compliquée, surtout qu'il faut dans ce cas connaitre l'orthographe précise de la ville) ...

Ensuite, un double click sur la ville désirée (pour un onglet précis, elles sont classées dans un tableau avec le nom et le code postal, avec possibilité de trier par nom ou par code postal) ajoute cette ville dans la liste (avec vérification de présence dans la liste : si la ville y est déja, ne pas l'ajouter et avertir l'utilisateur) ...

La liste devrait être visible en même temps que les onglets (par exemple un champ au dessus de la partie onglets + liste). Un double click sur une ville de la liste, hop on l'enleve.

Et puis bien sur une validation une fois que l'on a fini ...

...

Lien à poster

et on a cliqué plus que si on avait tapé tous les codes postaux .. :D

sérieusement, une telle quantité de communes à indiquer c'est pas du boulot pour une souris, ça ...

ou alors en donnant une carte de france avec un outil de selection de type lasso pour faire un découpage géographique et sélectionner uniquement les communes présentes dans la zone puis retirer celles qui ne correspondent pas ...

mais là, ça ne marche que si les selections sont groupées géographiquement (et bon, je n'aimerais pas être celui qui devrait se taper le code de "photoshop" en XHTML :p )

Lien à poster

Imaginons qu'il y ait effectivement 60 communes à choisir :

Au pire des cas, il faut aller dans tous les onglets, donc cliquer au pire 26 fois (sachant que certains onglets regrouperont plus qu'une lettre) ...

Ensuite il faut cliquer sur chacunes des communes : 60 clicks, ou double-click suivant l'implémentation ...

86 clicks pour se faire une liste de 60 communes !

Imaginons maintenant le choix par code postal : il faut taper 60 code postaux : 60 codes postaux à connaitre, 300 caractères à taper, en considérant que l'utilisateur ne se trompe jamais ...

Mais ensuite, un code postal retourne généralement plusieurs villes ou village, il faut donc sélectionner le bon : 60 clicks ...

Imaginons enfin l'auto implémentation sur le nom, avec Ajax derriere qui ramene automatiquement les villes

On tape au minimum 3 caractères, puis on sélectionne dans la liste ramenée : cela fait aussi 60 clicks, plus 180 caractères à saisir sans se tromper ... Quid des saint, St, et autres exemples à la con ?

Maintenant je ne dis pas que la solution que je propose est la meilleure, ou la plus facile à implémenter, mais quand même, 86 clicks (oups, pardon, 87, il faut aussi valider) ce n'est pas si lourd pour une souris ... élevée depuis sa plus tendre enfance à la dame de pique ... :D

...

Lien à poster
×
×
  • Créer...