Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
591 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Gerer un evenement suite à une selection dans un ComboBox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Gerer un evenement suite à une selection dans un ComboBox

n°1929950
benjyman99​9
Posté le 07-10-2009 à 19:56:35  profilanswer
 

Bonjour,
 
Je suis en train de developper une application Flash, j'aimerais à l'issue de la selection d'un élément contenu dans un Combobox
faire apparaitre un texte.
 
Le texte devra être différent en fonction de la selection effectuée.
 
Mon Combobox contient 4 item
 
il me faudrait un évenement pour chaque item de type : if "item 1" then "texte 1"
 
Merci d'avance,
 
Benjamin Baroukh

mood
Publicité
Posté le 07-10-2009 à 19:56:35  profilanswer
 

n°1930046
benjyman99​9
Posté le 08-10-2009 à 08:21:09  profilanswer
 

pas de réponses ?

n°1930061
abais
Posté le 08-10-2009 à 09:20:45  profilanswer
 

Tu as essayé l'evenement onchange comme je te l'avais suggéré sur l'autre topic ?


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1930072
benjyman99​9
Posté le 08-10-2009 à 09:44:08  profilanswer
 

J'ai essayé pour l'autre topic et finalement j'ai trouvé une parade technique qui vaut ce qu'elle vaut mais je suis arrivé au résultat souhaité. Par contre là du coup ça me semblait plus accessible et plus facile à réaliser mais je reviens au même problème à savoir : faire interragir un texte et un combobox.
 
J'ai des connaissances assez limités en actionscript alors si tu pouvais juste me donner la marche à suivre je te serais très reconnaissant et je pourrais éventuellement te renvoyer l'ascenseur (quoi que j'ai vu ton site il est très bien fait).
 
Basiquement voilà ce que je voudrais obtenir :
 
nom Combobox : age
item 1 : 18-25 ans
item 2 : 25-35 ans
item 3 : + de 35 ans
 
evenement souhaité : selon l'age le texte dynamique nommé "age_result" doit prendre les valeurs suivantes :
if item 1 then : "compte jeune"
if item 2 then : "compte standard"
if item 3 then : "autre"
 
Précision : pas d'envoi php en vue


Message édité par benjyman999 le 08-10-2009 à 09:51:18
n°1930085
abais
Posté le 08-10-2009 à 10:02:58  profilanswer
 

en reprenant tes noms de clips, essaye de rajouter dans ton script :
 
age.onChanged=function(){
trace("Titre Item = "+age.value+" // Index = "+age.selectedIndex);
}
 
Est ce que le trace te retourne bien les bonnes valeur ? ( Le titre et son index, 0, 1 ou 2) ?


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1930133
benjyman99​9
Posté le 08-10-2009 à 10:54:54  profilanswer
 

Ce code je dois le faire correspondre au texte dynamique "age_result" ? où dois-je le copier ?


Message édité par benjyman999 le 08-10-2009 à 10:58:02
n°1930139
abais
Posté le 08-10-2009 à 11:06:49  profilanswer
 

Met le code dans une clé vide, au même niveau que tu a "age" (ta comboBox).
Ce n'est qu'un test, si (quand tu lance l'animation) tu sélectionne ton item 2 et que le trace retourne bien :
=> Titre Item = 25-35 ans // Index = 1
Ça voudra dire que l'evenement onChanged fait bien ce que tu souhaite...
C'est dans un second temps qu'on jouera sur age_result...
Tu connais la fonction trace() ?


Message édité par abais le 08-10-2009 à 11:11:49

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1930146
benjyman99​9
Posté le 08-10-2009 à 11:15:16  profilanswer
 

euh... non je savais que c'était utilisé pour lister des champs ou pour donner un retour mais pas plus que ça.
Je vais essayer ce soir...


Message édité par benjyman999 le 08-10-2009 à 11:15:52
n°1930163
abais
Posté le 08-10-2009 à 11:35:42  profilanswer
 

C'est très important pour faire des test...
Je te suggère vraiment d'apprendre l'AS si tu veux en jouir pleinement...
=> http://www.siteduzero.com/tutoriel [...] cript.html
Bon, c'est vraiment dommage que ce soit de l'AS2, quitte à commencer, apprend l'AS3...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1930184
benjyman99​9
Posté le 08-10-2009 à 12:30:41  profilanswer
 

Je connais quelques routines de base mais ça se limite aux loadbars et quelques fonctionalités très limitées. merci

mood
Publicité
Posté le 08-10-2009 à 12:30:41  profilanswer
 

n°1930362
benjyman99​9
Posté le 08-10-2009 à 18:10:29  profilanswer
 

J'ai fait exactement comme tu me l'as indiqué mais ça ne trace rien... Je peux te l'envoyer par mail si ça te déranges pas ?

n°1930372
abais
Posté le 08-10-2009 à 18:49:34  profilanswer
 

wai vas-y...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1930519
abais
Posté le 09-10-2009 à 09:47:23  profilanswer
 

Donc, le script nétait pas bon car les event ne se gèrent pas du tout de la même façon...
Au final, le trace fonctionne avec :

Code :
  1. var ageListener:Object = new Object();
  2.  
  3. ageListener.change=function(event_obj:Object)
  4. {
  5.   trace("Titre Item = "+age.value+" // Index = "+age.selectedIndex);
  6. }
  7.  
  8. age.addEventListener("change", ageListener);


 
Pour changer ton texte (dont le champs de texte à pour nom d'occurence "age_result", on aura donc :
 

Code :
  1. var ageListener:Object = new Object();
  2.  
  3. ageListener.change=function(event_obj:Object)
  4. {
  5.     switch(age.selectedIndex) // On s'interesse à age.selectedIndex
  6.    {
  7.     case 0 : // Si il est = à 0....
  8.         age_result.text = "Compte Jeune";
  9.         break
  10.     case 1 : // ... à 1
  11.         age_result.text = "Compte standard";
  12.         break
  13.     default : // pour tout le reste... on aurait pu aussi mettre case : 2
  14.         age_result.text = "Compte Vieux :D";
  15.         break
  16.     }
  17. }
  18.  
  19. age.addEventListener("change", ageListener);


 
J'ai utilisé un switch(), mais si tu n'es pas à l'aise, tu peux utilisé un if/else :

Code :
  1. if (age.selectedIndex == 0)
  2. {
  3.     age_result.text = "Compte Jeune";
  4. }
  5. else if (age.selectedIndex == 1)
  6. {
  7.     age_result.text = "Compte standard";
  8. }
  9. else
  10. {
  11.     age_result.text = "Compte Vieux :D";
  12. }


 
(N'oublie pas de doublecliquer dans le cadre code de ce post si tu veux copier coller sans les # au début de chaque ligne...)


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1930781
benjyman99​9
Posté le 09-10-2009 à 21:55:39  profilanswer
 

Voici le message d'erreur que j'obtiens à la saisie du code :
 
**Erreur** Séquence = Séquence 1, calque = Calque 5, image = 1 :Ligne 5 : L’opérateur '=' doit être suivi d’un opérande
          switch(age.selectedIndex) // On s'interesse à age.selectedIndex
 
**Erreur** Séquence = Séquence 1, calque = Calque 5, image = 1 :Ligne 6 : Erreur de syntaxe.
         {
 
**Erreur** Séquence = Séquence 1, calque = Calque 5, image = 1 :Ligne 2 : Erreur de syntaxe.
       
 

n°1930787
benjyman99​9
Posté le 09-10-2009 à 22:24:24  profilanswer
 

Je commence à desesperer !
le code que tu m'as envoyé fonctionnait sur AS 3 ? est-il compatible AS 2 ?
 
Pour le code suivant :
 
var ageListener:Object = new Object();
ageListener.change=function(event_obj:Object);{
if (age.selectedIndex == 0){      
age_result.text = "Compte Jeune";}  
else if (age.selectedIndex == 1){      
age_result.text = "Compte standard";}  
else {     age_result.text = "Compte Vieux :D";}
age.addEventListener("change", ageListener);
 
 
Erreurs de synthaxe :
 
**Erreur** Séquence = Séquence 1, calque = Calque 5, image = 1 :Ligne 2 : '{' attendu
     ageListener.change=function(event_obj:Object);{
 
**Erreur** Séquence = Séquence 1, calque = Calque 5, image = 1 :Ligne 8 : Erreur de syntaxe.
     age.addEventListener("change", ageListener);
 
**Erreur** Séquence = Séquence 1, calque = Calque 5, image = 1 :Ligne 2 : Le bloc d’instruction doit être terminé par '}'
     ageListener.change=function(event_obj:Object);{
 
**Erreur** Séquence = Séquence 1, calque = Calque 5, image = 1 :Ligne 8 : Erreur de syntaxe.
     age.addEventListener("change", ageListener);
 
Total des erreurs ActionScript : 4   Erreurs signalées : 4


Message édité par benjyman999 le 09-10-2009 à 22:27:04
n°1930790
abais
Posté le 09-10-2009 à 22:37:58  profilanswer
 

atta j'essaye (je ne l'ai meme pas testé)


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1930791
abais
Posté le 09-10-2009 à 22:51:39  profilanswer
 

Le 1er code marche, le 2nd avec les if aussi, mais tu t'es amusé à mettre un point virgule avant l'accolade de la fonction !!!
S'ailleurs, c'est quoi cette mise en forme de code... rédige comme moi... ou comme ça :
 

Code :
  1. var ageListener:Object = new Object();
  2.  
  3. ageListener.change=function(event_obj:Object){
  4.     if (age.selectedIndex == 0){      
  5.         age_result.text = "Compte Jeune";
  6.     }  
  7.     else if (age.selectedIndex == 1){      
  8.         age_result.text = "Compte standard";
  9.     }  
  10.     else {
  11.         age_result.text = "Compte Vieux :D";
  12.     }
  13. }
  14.  
  15. age.addEventListener("change", ageListener);


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1930799
benjyman99​9
Posté le 09-10-2009 à 23:45:51  profilanswer
 

On s'en approche, mon code :
 
var ageListener:Object = new Object();
ageListener.change=function(event_obj:Object){
 if (age.selectedIndex == 1){  
 age_result.text = "Compte adultes";
 }
 if (age.selectedIndex == 2){  
 age_result.text = "Compte Vieux";
 }
 else if (age.selectedIndex == 0){  
 age_result.text = "Compte standard";
 }  
   
  }
   
  age.addEventListener("change",ageListener);
 
Effet : l'item 1 et 2 s'affichent mais l'item par défaut ne fonctionne pas et affiche "_level0.age_result". De plus il faudrait pouvoir modifier sa selection si erreur il y a.

n°1930817
abais
Posté le 10-10-2009 à 10:13:11  profilanswer
 

aprend dans un premier temps à distinguer un if{} / else if{} et else{}...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
n°1930964
benjyman99​9
Posté le 11-10-2009 à 13:06:13  profilanswer
 

C'est bon j'ai terminé ! Tout fonctionne, merci "abais" pour tes conseils.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Gerer un evenement suite à une selection dans un ComboBox

 

Sujets relatifs
utiliser une variable d'un combobox FlashProbleme de Div et evenement (js)
combobox dans userformRecherche d'une solution pour gérer des données simples
Recherche un evenement spécial...Intitulé d'un évènement sur 2 listes déroulantes [RESOLU]
Comment garder des liens actifs après sélectioncopier dans différentes colonnes a la suite
problème évènement clickEnregistrer une base de données access et gérer les erreurs
Plus de sujets relatifs à : Gerer un evenement suite à une selection dans un ComboBox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR