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
tableau de liste [ par hanenjabnoun ]
Jen n'arrive pas à initialiser un tableau de lieste en langage C[^^sad1] voici ci dessous les structures que j'ai utilisé ainsi que la fonction d'init
Trier zone de liste [ par SElKettani ]
<link rel="Fi
Livres en rapport
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|