Accueil > Forum > > > > Liste déroulante
Liste déroulante
jeudi 14 juillet 2005 à 08:58:27 |
Liste déroulante

Po55
|
Bonjour,
Je cherche à faire un truc qui me semble tout con, mais malgré mes recherches, je n'y arrive pas.
Alors voilà, j'ai une liste déroulante avec 2 dates (2003 et 2004). Je
voudrais récupérer la valeur selectionnée (sans cliquer sur un bouton)
pour ensuite la passer en paramètre d'une url.
<cfform name="choix1" METHOD="post">
<cfselect
name="an" onchange="an = this.options[this.selectedIndex].text">
<OPTION value="2004"
SELECTED>2004</option>
<OPTION value="2003">2003</option>
</cfselect>
</cfform>
<li><a href="Page1.cfm?annee=#an#">Lien1 :</a></li>
<li><a href="Page2.cfm?annee=#an#">Lien2 :</a></li>
Bien sûr le code est faux, mais que dois-je faire pour que ça marche ?
Merci d'avance.
|
|
samedi 16 juillet 2005 à 12:00:06 |
Re : Liste déroulante
|
samedi 16 juillet 2005 à 20:58:42 |
Re : Liste déroulante

syndrael
|
Ok..
Avec la réponse de CFQuery, je comprends mieux. Je pensais que tu
voulais changer l'URL sans faire un Submit. Si c'est le cas, il te
faura utiliser Javascript et non Cold fuison ki ne peut rien
faire pour toi..
De mémoire la valeur doit se retrouver en Javascript ainsi.
document.monForm.an.elements[document.monForm.an.selectedIndex].value ou kelke chose dans le genre..
S.
|
|
lundi 18 juillet 2005 à 08:15:18 |
Re : Liste déroulante

Po55
|
Merci beaucoup pour vos réponses.
Avec ton code, cfquery, la variable 'an' reste égale à 2003. Elle ne prend jamais la valeur 2004. Je ne sais pas trop pourquoi.
Je pense également, comme tu le dis syndrael, qu'il faut passer par
javascript. J'ai essayé un peu mais je n'arrive pas à renvoyer une
variable de javascript vers coldfusion. Si vous avez une solution, elle
serait la bienvenue car je commence un peu à désespérer...
Merci encore de vos réponses.
|
|
lundi 18 juillet 2005 à 08:41:33 |
Re : Liste déroulante

lfontaine
|
Salut PO55,
Ce que tu veux faire n'est pas possible puisque le select est au niveau client et que donc CF ne peut pas voir ces valeurs dans la mesure ou la page est deja processee.
Ce que tu peux faire c'est un truc du style (pas teste):
<js script> function submitthis(page){ document.choix1.action=page; document.choix1.submit(); } </jscript> <cfform name="choix1" METHOD="post"> <cfselect name="an" onchange="javascript:submitthis(document.choix1.an.value)"> <OPTION value="" SELECTED>Selectionez une annee</option> <OPTION value="Page1.cfm?annee=2004">2004</option> <OPTION value="Page2.cfm?annee=2003">2003</option> </cfselect> </cfform>
Laurent
|
|
lundi 18 juillet 2005 à 10:19:05 |
Re : Liste déroulante

Po55
|
Merci pour ta réponse, et en effet tu as tout à fait raison, je suis obligé de passer par du javascript.
Par contre, je ne souhaite pas faire une redirection lors du select, mais seulement lors du clic sur le lien.
C'est pour cela que j'aimerai faire un truc du genre :
<js script>
function ma_fonction(annee){
an=annee;
}
</jscript>
<cfform name="choix1" METHOD="post">
<cfselect name="an"
javascript:onchange="ma_fonction(this.options[this.selectedIndex].text)">
<OPTION value="2004" SELECTED>2004</option>
<OPTION value="2003">2003</option>
</cfselect>
</cfform>
<li><a href="Page1.cfm?annee=#an#">Lien1 :</a></li>
<li><a href="Page2.cfm?annee=#an#">Lien2 :</a></li>
Avec ma_fonction qui valorise une variable coldfusion ('an') en
fonction du value du select. Le hic, c'est que je n'arrive pas à
renvoyer une variable coldfusion avec javascript.
Je ne sais pas si j'ai été très clair...
Quoiqu'il en soit, merci encore de votre aide.
|
|
lundi 18 juillet 2005 à 18:44:04 |
Re : Liste déroulante

cfquery
|
Réponse acceptée !
J'ai apporté kelke correctifs o code.Réessaie voir. <cfif isdefined("form.an")> <cfset an = form.an> <cfelse> <cfset an = 2004> <!--- Puisque ton selected est pointé sur 2004 ---> </cfif> <cfform name="choix1" METHOD="post"> <cfselect name="an" Passthrough ="onChange=choix1.submit();"> <OPTION value="2004" <cfif an eq 2004>SELECTED</cfif>>2004</option> <OPTION value="2003" <cfif an eq 2003>SELECTED</cfif>>2003</option> </cfselect> </cfform> <li><a href="Page1.cfm?annee=<cfoutput>#an#</cfoutput>">Lien1 :</a></li> <li><a href="Page2.cfm?annee=<cfoutput>#an#</cfoutput>">Lien2 :</a></li>
|
|
mardi 19 juillet 2005 à 05:35:51 |
Re : Liste déroulante

lfontaine
|
Réponse acceptée !
Salut,
Si tu veux que la variable passes lorsque tu cliques sur le lien il faut appeler le javascript depuis le lien. EN AUCUN CAS TU NE PEUX CHANGER LA VALEUR D'UNE VARIABLE COLDFUSION DEPUIS UN JAVASCRIPT SANS RECHARGER LA PAGE. - desole il fallait que ca sorte ;o)
Donc ce que tu cherches ressemblerait me semble t il a un truc du style:
<js script> function submitthis(annee,page){ document.choix1.action='page'+page+'.cfm?annee='+annee; document.choix1.submit(); } </jscript> <cfform name="choix1" METHOD="post"> <cfselect name="an"> <OPTION value="2004">2004</option> <OPTION value="2003">2003</option> </cfselect> <li><a href="javascript:submitthis(document.choix1.an.value,'1');">Lien1 :</a></li> <li><a href="javascript:submitthis(document.choix1.an.value,'2');">Lien2 :</a></li> </cfform>
Laurent
|
|
mardi 19 juillet 2005 à 08:49:39 |
Re : Liste déroulante

Po55
|
Merci mille fois, c'est exactement ça !
Les deux versions marchent nickel.
Merci encore.
|
|
samedi 23 juillet 2005 à 01:09:07 |
Re : Liste déroulante

bastoun
|
Bon.. je vais me permettre une petite remarque (depuis le temps que je suis pas venu, il faut au moins ça...)
ce que dit Laurent(lfontaine) est tout à fait justifié, et je te
déconseillerais d'utiliser le script de cfquery.. d'ailleurs si tu
creuse un peu les deux scripts proposés et validés ne fonctionnent pas
vraiment de la même façon, et tu te rendras compte de la différence
lorsque tu installera ton script ailleurs que sur un serveur local.
petite démonstration textuelle...
Dans le script de lfontaine, quelque soit le temps de réponse du serveur :
1) tu sélectionne une valeur dans la liste
2) tu clique sur ton lien, qui par javascript(donc coté client, donc
totalement transparent... pas d'appel au serveur ni besoin de recharger
la page) va prendre la valeur sélectionnée dans la liste et passe la
valeur 'an' en paramètre
3) tu attéri sur ta page choisie par le lien avec la bonne année
Dans le script de cfquery il se passe la chose suivante, si le temps de réponse du serveur est rapide :
1) tu sélectionne une valeur dans la liste, lançant automatiquement l'ordre de recharger la page
2) le temps de réponse étant rés rapide, la page se recharge en trés
peu de temps, de façon quasi invisible
pour l'utilisateur(je dis bien quasi... car en utilisant une mise en
page un peu lourde et complexe, ça fera une espèce de flash...), en
passant en paramètre 'an' la valeur choisie dans
la liste. Cold fusion reprend la valeur et la met dans le lien
3) tu cliques sur ton lien qui passe ta valeur an choisie précédemment en paramètre
4) tu attéri sur ta page choisie par le lien avec la bonne année.
imagine la même chose avec un serveur ayant un temps de réponse suffisamment long
1) tu sélectionne une valeur dans la liste, lançant automatiquement l'ordre de recharger la page
2) le serveur étant trés lent, ta page ne se recharge pas tout de
suite.( La page précédente reste affichée tant que le serveur n'a pas
envoyé suffisamment d'information sur la page en cours de chargement).
Ceci te laissant suffisamment de temps pour cliquer sur ton lien avant
que la page ne soit rechargée
3) tu cliques donc sur ton lien qui possède la valeur an définie
originellement au chargement de la page (bref celle qui apparait avant
l'étape 1)
4) tu atterri sur ta page choisie, mais avec une mauvaise année...
voilà voilà... et si tu veux vérifier par toi
même, fais toi une petite boucle un peu longue (genre cfloop bouclant
10000 fois) au début de tes pages coldfusion ou dépose ton script sur
un serveur que tu atteins par un réseau super lent...
|
|
Cette discussion est classée dans : liste, déroulante
Répondre à ce message
Sujets en rapport avec ce message
Passage d'une variable [ par jfg ]
Bonjour,sur un formulaire g une liste déroulante alimenter par une table, cette table contient une clé et un autre champ déscription.Dans ma liste dér
liste déroulante, requête et calcul [ par nioof42 ]
Bonjour,Je commence à peine avec Dreamweaver et j'ai un gros problème:j'ai au moins 2 listes déroulantes liée à une base de données Acces (type produi
liste déroulante [ par dinver78 ]
Voila mon prob : J'ai une liste déroulante :<cfinvoke component="new-intranet.new_intranet.ginter.composant.composa
liste déroulante [ par pancratee ]
bonjour à tous. Je suis novis en développement. J'ai crée une base de données acces, des formulaires html. J'ai un serveur coldfusion. Je souhaite rem
lier liste déroulante [ par benji54190 ]
bonjour a tous, j'ai un souci avec mes listes déroulantes, <cfquery datasource="authentification" name="projet2">
accents avec coldfusion8 [ par benji54190 ]
Bonjour a tous, j'ai un souci avec des accents dans la bdd,exemple: Algérie --> Alg,rieAlgérie appartient a une table pays, je dois faire une liste dé
Checkboxs pour selection dans une liste [ par jeanmarieb ]
Bonjour, J'ai toujours eu du mal avec les Checkboxs [^^happy17] Dans une liste, je voudrais pouvoir selectionner avec des Checkboxs plusieurs élémen
Trier zone de liste [ par SElKettani ]
<link rel="Fi
Comparaison deux listes de Valeurs [ par Goblinx ]
Bonjour à tous.J'ai une table qui mémorise une liste de mots pour des candidats et des entreprises.table:Id_Record(Clé primaire)Id_Candidat(Clé étrang
Livres en rapport
|
Derniers Blogs
[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|