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
[WP7] UTILISER UN WRAPPANEL DANS UNE APPLICATION WINDOWS PHONE 7[WP7] UTILISER UN WRAPPANEL DANS UNE APPLICATION WINDOWS PHONE 7 par Audrey
Lors de la réalisation de ma 2ème application Windows Phone 7, j'ai souhaité utiliser un WrapPanel pour afficher plusieurs photos. Mais le contrôle WrapPanel ne fait pas parti de la liste des contrôles inclus dans le SDK de la version Beta des outils pour...
Cliquez pour lire la suite de l'article par Audrey [WP7] BESOIN D'AVOIR DES DONNéES EN CACHE[WP7] BESOIN D'AVOIR DES DONNéES EN CACHE par Nicolas
Les développeurs ASP.NET ont l'habitude de mettre des données en cache pour éviter de requêter a chaque fois la base de données. Et il est toujours utilie de penser que vos utilisateurs mobiles n'ont pas troujours une super connexion 3G/WIFI et un for...
Cliquez pour lire la suite de l'article par Nicolas [TFS] COMMENT FORCER LA SAISIE D'UN AREA OU ITERATION[TFS] COMMENT FORCER LA SAISIE D'UN AREA OU ITERATION par cyril
Lorsque l'on créé un Work Item dans TFS, il est possible de le classer dans un "area" et dans une "iteration". Dans la plupart des types de projet, un "area" correspond à une catégorie, une "iteration" à un numéro de version. Il est possible de cré...
Cliquez pour lire la suite de l'article par cyril SQL : FONCTIONS D'AGRéGATION MIN/MAX ET VALEURS NULLSQL : FONCTIONS D'AGRéGATION MIN/MAX ET VALEURS NULL par coq
Les fonctions d'agrégation comme MIN et MAX ignorent les valeurs NULL présentes dans le jeu de données sur lequel porte leur calcul, d'où le fameux message d'avertissement : Warning: Null value is eliminated by an aggregate or other SET operation...
Cliquez pour lire la suite de l'article par coq VOTEZ POUR WARNYGOVOTEZ POUR WARNYGO par Nicolas
La vidéo du projet Warnygo est disponible sur facebook et attend vos votes ! Pour rappel: Warnygo est une application Windows Phone 7 qui permet d'alerter tous utilisateurs inscrits qui se trouve dans la zone où se passe l'...
Cliquez pour lire la suite de l'article par Nicolas
Logiciels
sDEVIS-FACTURES vlPRO (3.8.0)SDEVIS-FACTURES VLPRO (3.8.0)sDEVIS-FACTURES vlPRO a été mis au point pour permettre besoins des particuliers, créateurs, entr... Cliquez pour télécharger sDEVIS-FACTURES vlPRO LettresFaciles (5.6.0)LETTRESFACILES (5.6.0)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles MyPlanning 2010 (5.6.0)MYPLANNING 2010 (5.6.0)MyPlanning 2010 permet de créer des plannings sous la représentation de diagrammes. Plannings pré... Cliquez pour télécharger MyPlanning 2010 Emicsoft Mac DVD en iPad Convertisseur (3.1.16)EMICSOFT MAC DVD EN IPAD CONVERTISSEUR (3.1.16)Emicsoft Mac DVD en iPad Convertisseur, logiciel professionnel de convertir les fichiers DVD en i... Cliquez pour télécharger Emicsoft Mac DVD en iPad Convertisseur Emicsoft ipad ménager pour mac (3.1.08)EMICSOFT IPAD MéNAGER POUR MAC (3.1.08)Emicsoft ipad ménager pour mac est spécialement conçu pour les utilisateurs Mac pour copier des f... Cliquez pour télécharger Emicsoft ipad ménager pour mac
|