probleme avec des menus deroulants - HTML/CSS - Programmation
Marsh Posté le 26-07-2006 à 15:39:40
Faut que tu joues avec les évènements.
=> onselect="displayMonMenu(this)" dans ton premier select.
=> et en fonction du selectedIndex, tu affiches l'un ou l'autre des deux autres select
Marsh Posté le 26-07-2006 à 16:04:26
Mouais ou c'est faisable par php, mais plus chiant à coder du fait de la nécessité de mettre un bouton submit, afin de valider l'envois des données au serveur, qui lui met à jour la page... mais au moins c'est plus facile de rajouter des réponses par le biais par exemple d'une base de données.. (m'enfin je m'emballe la )
Marsh Posté le 26-07-2006 à 16:17:47
chani_t a écrit : mais au moins c'est plus facile de rajouter des réponses par le biais par exemple d'une base de données.. (m'enfin je m'emballe la ) |
nawak
Avec la solution d'arjuna, tous les selects sont présents dans la page dès le début, la selection d'une valeur dans le 1er ne fait que changer la propriété style.visibility ou display des deux autres...
Marsh Posté le 26-07-2006 à 16:35:15
anapajari a écrit : nawak |
ceci dit, je préfère (et de loin) ma soluce que je viens de m'amuser à coder
=> générable en php sans souci, suffit de générer dynamiquement ces lignes :
Citation : |
http://www.bci-logs.fr/medias/select.htm
=> c'est récursif sur autant de niveaux qu'on veut
PS: si ça marchait sous FF, ce serait mieux, mais cet ampaffé fait rien (quelle saloperie ce truc )
Marsh Posté le 26-07-2006 à 16:45:46
lol, trouvé ce qui déconne... on peut pas mettre un objet dans un attribut avec FF... c'est ballo
Marsh Posté le 26-07-2006 à 16:45:52
anapajari a écrit : nawak |
ola... on se calme ma solution a un intérêt... si si
Dans le cas de plusieurs dizaines de solution dans le premier select... et bien tu ne vas pas créer les plusieurs dizaine de select en résultant
De plus dans le cas d'une génération dynamique du formulaire c'est relativement simple à faire, et certainnement moins gourmand en ressources (notament Band passante)
Marsh Posté le 26-07-2006 à 16:59:02
chani_t a écrit : ola... on se calme ma solution a un intérêt... si si |
ben carrément, si, puisque tu dois recharger "tes 4 pauvres lignes de formulaire" à chaque fois, mais surtout, les 25 Mo d'images et flash en tout genre qui se baladent sur ta page.
donc il vaut mieux au contraire, tout généré d'un coup le premier coup. niveau perfs, on ne voit presque aucun changement côté utilisateur au premier chargement, mais ensuite, son modem et le serveur se tournent les pouces le temps qu'il se décide entre deux parfums, alors que sinon, il te ruine ton quota de bande passante
par contre, l'intérêt de faire tout côté server, c'est que ça marche même si on n'a pas JS activé, ou qu'on a un navigateur qui ne comprends pas le charabia qu'on a écrit. en gros, avec NS3 pour Amiga, tu peux te servir de la page
Marsh Posté le 26-07-2006 à 17:00:00
chani_t a écrit : ola... on se calme ma solution a un intérêt... si si |
y'avait un ":o" et le étant important pour souligner l'humour de mon nawak
Evidement qu'on peut le faire coté serveur et c'est même mieux, car si l'utilisateur n'a pas de js activé, cela fonctionne quand même.
chani_t a écrit : Dans le cas de plusieurs dizaines de solution dans le premier select... et bien tu ne vas pas créer les plusieurs dizaine de select en résultant |
Non mais je vais pas tout afficher dans la même page non plus
Une page pour la selection de l'item 1 ( avec recherche toussa ), puis une page pour la selection de l'item 2 ( avec recherche toussa ), etc.
chani_t a écrit : De plus dans le cas d'une génération dynamique du formulaire c'est relativement simple à faire, et certainnement moins gourmand en ressources (notament Band passante) |
je veux pas lancer une discussion sans fin, mais ton argument est pas terrible
Si tu as 10 imbrications, tu vas donc faire appel à 10 fois ta page, qui va transiter 10 fois sur le résa et grosso-modo la dernière demandée fera le "poids" de la page avec tout dedans
edit: Magic-P0wn3d
Marsh Posté le 26-07-2006 à 17:02:19
anapajari a écrit : blabla |
=> je vois que t'as rien à faire. tu veux regarder mon truc pour voir si y'a une solution ? j'ai mis en commentaires les lignes qui ne se comportent pas comme prévu sous FF (enfin... plus exactement, elles ne se comprotement pas comme prévu sous IE, et ça m'arrangeait bien )
Marsh Posté le 26-07-2006 à 17:14:09
anapajari a écrit : y'avait un ":o" et le étant important pour souligner l'humour de mon nawak |
au temps pour moi
anapajari a écrit : |
Mais le but n'était pas de garder la même page, et d'afficher les champs au fur et à mesure ?
anapajari a écrit : |
En effet, je ne préfére pas rentrer dans ce débat
Marsh Posté le 26-07-2006 à 17:21:05
En fait, il y a deux façon de voir les chôses :
1) on met tout dans la page dés le départ et tant pis si le client à le temps de prendre un café avant de l'avoir reçu
2) on met le minimum et on demande le reste ensuite
le 2) entraine d'ailleur deux possibilités :
a) on redemande une nouvelle page à chaque choix ou changement d'avis de l'utilisateur
b) on utilise ajax pour ne demander que les nouvelles données (quitte à les garder ensuite en mémoire au cas où le client change plusieurs fois d'avis)
En plus de tout ça, on a plusieurs autres variantes possibles :
- on utilise ajax si le javascript est disponible et si ca n'est pas le cas, on demande une nouvelle page au serveur
- on utilise ajax si possible, sinon on récupérera une page qui contient tout dés que le client fait un premier choix
- on utilise ajax si possible, sinon on demandera une nouvelle page à chaque choix du visiteur
- on récupére tout et si ajax est disponible on change de page pour passer au mode ajax
PS : Evidement, la derniére ligne c'est de l'humour.
Marsh Posté le 26-07-2006 à 17:29:36
omega2 a écrit : ... plein de fois ajax..; |
On va encore se retrouver avec plein de questions sur "comment qu'on fait un xmlHttpRequest?", "je comprends pas je fais un xmlHttpRequest de ma page sur elle-même et ça marche pas" ...
Marsh Posté le 26-07-2006 à 17:34:21
Arjuna a écrit : => je vois que t'as rien à faire. tu veux regarder mon truc pour voir si y'a une solution ? j'ai mis en commentaires les lignes qui ne se comportent pas comme prévu sous FF (enfin... plus exactement, elles ne se comprotement pas comme prévu sous IE, et ça m'arrangeait bien ) |
Finalement, c'est corrigé. Un peu le bordel mais bon...
Marsh Posté le 26-07-2006 à 17:41:42
Arjuna a écrit : => je vois que t'as rien à faire. |
mdrrrrrr
t1 je sais pas vous mais j aime bien l ambiance aujourd hui =)
Marsh Posté le 26-07-2006 à 17:53:03
mIRROR a écrit : mdrrrrrr |
ct pas méchant hein !
je dis ça, parceque moi je m'emmerde depuis ce matin... mon site perso est hs à cause de mon modem.
et au taff j'ai rien à faire...
vu que anapajari avait l'air de poster pas mal, j'en ai déduit que lui aussi avait une baisse d'activité
à la base, que les choses soient claires : j'ai autrechose à faire que de me friter avec n'importe qui pour n'importe quoi. donc si une phrase que j'écrit peu prêter à confusion, on peut être sûr que c'est pas la version "choquante" que j'ai voulu écrire (d'ailleurs, je vois pas ce qu'il y a de choquant dans ma phrase ? s'il a rien à faire, à priori, il n'a rien de mieux à faire que regarder mon bug, y'a rien de méchant)
Marsh Posté le 26-07-2006 à 17:59:49
Arjuna a écrit : vu que anapajari avait l'air de poster pas mal, j'en ai déduit que lui aussi avait une baisse d'activité |
Tututut moi j'ai plein de taf, mais en ce moment je fais que du ms project, des specs en word, et de la garderie de developpeurs ... ça me laisse du temps libre
Marsh Posté le 26-07-2006 à 18:00:52
ReplyMarsh Posté le 26-07-2006 à 20:20:15
Reply
Marsh Posté le 26-07-2006 à 14:13:10
bonjour a tous,
j'ai un petit probleme avec ma page html.
J'aimerai avoir un menu deroulant (jusque la facile) avec deux choix possibles mais que lorsque que je choisis le premier ou le deuxieme choix un nouveau menu deroulant apparaisse mais en fonction du choix que j'ai fait en premier.
Je m'explique avec cet exemple:
Menu deroulant 1 : choix 1 (glace) choix 2 (soda)
Menu deroulant 2 (pour les glace) : choix 1 (vanille) choix 2 (fraise).....
Menu deroulant 3 (pour les soda) : choix 1 (coca) choix 2 (sprite)....
Il y aurai en fait 3 menu deroulant mais l'utilisateur n'e verrai que 2.
j'ai essayé mais je n'arrive pas a faire apparaitre le deuxieme ou le troisieme menu.
Pourriez vous m'aidez s'il vous plait?