[js]évenement à la suite changement d'état

Erwan -  
maily Messages postés 7560 Statut Contributeur -
Salut tous le monde !!

j'ai dans un document html un bouton nommé "up" à coté d'une liste déroulante
lorsque je clique dessus avec un "onClick" une fonction javascript réalise ceci :

function up(liste, bouton)
{
bouton.value="down";
liste.size="3";
liste.multiple="true";
}

Explications : Le bouton change de nom et devient "down" la liste prend une taille de 3 et devient multiple.
Maintenant je voudrais que lorsque je reclique sur ce bouton ma liste redevienne à size="1" j'ai alors pensé à ça ,à l'intérieur de la fonction :

if (onClick=bouton)
{
liste.size="1";
}

Mais ca ne marche pas !

Quelq'un pourrait il m'aider
Merci d'avance..

5 réponses

  1. maily Messages postés 7560 Statut Contributeur 453
     
    Bonjour,

    le plus simple est de changer la fonction et de faire un test sur la valeur du bouton

    function up(liste, bouton)
    {
         if(bouton.value=="up"){
               bouton.value="down";
               liste.size="3";
               liste.multiple="true";
         }else{
               bouton.value="up";
               liste.size="1";
              liste.multiple="false";
    
         }
    } 
    0
  2. Erwan
     
    Merci beaucoup Maily !!!

    J'attendais pas une réponse aussi rapide!!
    En plus, ca marche tres bien!!

    je te remercie
    0
  3. maily Messages postés 7560 Statut Contributeur 453
     
    ;-)

    de rien!
    0
  4. Erwan
     
    J'ai encore un petit détails à régler

    Dans ma liste déroulante j'ai plusieurs états dont un état "vide"
    Si l'utilisateur choisit vide tous seul c bon mais en multiple s'il choisit vide et au moins un autre état je voudrais indique un message d'erreur.

    Est possible ??
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. maily Messages postés 7560 Statut Contributeur 453
     
    Bien sur!

    quand il valide, avant de l'envoyer, tu test si vide est sélectionné et tu regardes si y'en a d'autres
    si oui tu lance une alert("message");
    et tu reste sur ta page
    0