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

  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Reconnaitre un button - optimisation de code

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Reconnaitre un button - optimisation de code

n°2401574
Lt Ripley
T'es à fond là ?
Posté le 27-11-2021 à 10:32:38  profilanswer
 

Bonjour !
 
Je cherche à optimiser mon code, je voudrais pouvoir reconnaitre sur quel button j'ai cliqué sur ma page, car j'ai ce code répété 20 fois, pour 20 boutons :
 

Code :
  1. function plusHeureFinChambreButton()  {
  2.  
  3.    var xhttp = new XMLHttpRequest();
  4.    xhttp.open("GET", "plusHeureFinChambreButton", true);
  5.    xhttp.send();
  6.    getHeureFinChambre();
  7.  
  8. }


 
Je cherche à faire comme je fais avec Android, on attribue un tag au bouton et ensuite on a juste à faire un getTag, dans onClick()
 

Code :
  1. previousButton.setTag(1);
  2. nextButton.setTag(2);
  3.  
  4. public void onClick(View v) {
  5.        int buttonIndex = (int) v.getTag();
  6.  
  7.        // previous
  8.        if (buttonIndex == 1) { blabla
  9.  
  10.        // next
  11.        if (buttonIndex == 2) { blabla


 
         
Est ce possible ?
 
Merci d'avance


Message édité par Lt Ripley le 27-11-2021 à 10:55:44

---------------
Mes apps  |  Viens coder  |  Mon topal de vente
mood
Publicité
Posté le 27-11-2021 à 10:32:38  profilanswer
 

n°2401630
Lt Ripley
T'es à fond là ?
Posté le 27-11-2021 à 19:44:59  profilanswer
 

Ah je viens de trouver ça, je vais essayer
 
https://i.imgur.com/Eov1Jtw.png
 
Edit : je confirme ça marche bien !


Message édité par Lt Ripley le 27-11-2021 à 20:31:30

---------------
Mes apps  |  Viens coder  |  Mon topal de vente
n°2401708
reroll
Posté le 28-11-2021 à 20:15:03  profilanswer
 

Je répond peut être trop tard, mais plutôt que d'ajouter du code à chaque bouton avec un lien vers une fonction quand il est clické, tu peux juste faire.
 
 

Code :
  1. <script>
  2.   const buttonArray = document.querySelectorAll("button" );
  3.   buttonArray.forEach((buttonItem) => {
  4.     buttonItem.addEventListener("click", (e) => {
  5.       console.log(e.target.id);  // ou alert si tu préfère alert
  6.     });
  7.   });
  8. </script>


 
L'avantage avec ce code est que tu n'as pas à rajouter un bout de code à chaque boutons, et tu peux ajouter autant de bouton que tu veux.


Message édité par reroll le 28-11-2021 à 20:16:05
n°2401731
Lt Ripley
T'es à fond là ?
Posté le 29-11-2021 à 09:35:24  profilanswer
 

Merci j'aime bien ta façon de faire.
 
Si je veux faire un switch je peux faire comme ça ?  (c'est pour info, en effet j'ai déjà recodé (et gagné pas mal de lignes de code))
 

Code :
  1. <script>
  2.  const buttonArray = document.querySelectorAll("button" );
  3.  buttonArray.forEach((buttonItem) => {
  4.    buttonItem.addEventListener("click", (e) => {
  5.      console.log(e.target.id);  // ou alert si tu préfère alert
  6.  
  7.      switch(e.target.id)  {
  8.  
  9.         case "plusTempChambreButton":
  10.             xhttp.open("GET", "plusTempChambreButton", true);
  11.             break;
  12.  
  13.         case "moinsTempChambreButton":
  14.             xhttp.open("GET", "moinsTempChambreButton", true);
  15.             break;
  16.  
  17.         //Etc..
  18.  
  19.       }
  20.  
  21.       xhttp.send();
  22.      
  23.  
  24.    });
  25.  });
  26. </script>


Message édité par Lt Ripley le 29-11-2021 à 09:40:13

---------------
Mes apps  |  Viens coder  |  Mon topal de vente
n°2401737
reroll
Posté le 29-11-2021 à 09:55:02  profilanswer
 

En toute logique ça devrait fonctionner.
 
Personnellement je ferai :
 

Code :
  1. const buttonId = e.target.id
  2. switch (buttonId)
  3. ...


 
Mais c'est ma façon de coder, je préfère assigner des variables et les manipuler ensuite.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Reconnaitre un button - optimisation de code

 

Sujets relatifs
[VBA] code outlook format date[Résolu] Souci sur code SQL
Code range VBAAlignement avec visual studio code
[C#] Code décompilé ne recompile pas...aide écriture code c++ recherche et cumul de nombres
un code php qui déconne (erreur bête surement )[KSH-88] récupérer le code retour d'un sous-shell
[Python] Utilisation d'un code existant[xmlbean] Générer du code à partir d'une arborescence de schémas xsd
Plus de sujets relatifs à : Reconnaitre un button - optimisation de code


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