Bouton de couleur

Résolu
Jordi.D Messages postés 60 Statut Membre -  
Jordi.D Messages postés 60 Statut Membre -
Hello a tous je sollicite votre aide encore une fois
J'ai un formulaire avec des boutons je voudrais récupérer la couleur des boutons en fonction du click de l'utilisateur " En gros tous mes boutons sont vert pas défaut quand l'utilisateur click il devient rouge une fois que la couleur a été récupére on envoie le formulaire par mail.
<style>
  input[type=button] {
    background-color: #00ff00;
  }
  input[type=button].red-btn {
    background-color: #ff0000;
  }
</style>
<input type="button" class="button button" id="1" onclick="ch(this)" />
<script type="text/javascript">
function ch(btn) {
  if(element.classList.contains("red-btn"){
    element.classList.remove("red-btn");
  }else{
    element.classList.add("red-btn");
  }
}
</script>

1 réponse

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Pour envoyer les données en "submit" tu dois forcément utiliser des champs
    de type INPUT ou SELECT ou TEXTAREA.
    Tu pourrais donc, en javascript, récupérer la couleur de chaque bouton et stocker le resultat dans un input caché "hidden" ou sinon, remplacer tes "button" par des checkboxes (que tu stylise comme des boutons)

    Ou sinon... ne pas faire de submit mais utiliser de l'ajax....

    0
    1. Jordi.D Messages postés 60 Statut Membre
       
      Bonjour a vous

      Mes boutons sont bien du type "INPUT" Donc il est possible de le faire en javascript "ps je n'est jamais entendu parlé de caché hidden"
      Et ajax encore moins
      0
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > Jordi.D Messages postés 60 Statut Membre
       
      Les boutons contiennent une "value" ... c'est uniquement cela que tu récupéreras...
      Et comme tu te sers des "value" pour donner un " titre " à tes boutons.. tu ne peux pas y mettre l'information concernant la couleur...(ou, plus exactement, la CLASS )

      Perso... je mettrais, avec CHAQUE bouton... un INPUT TYPE CHECKBOX HIDDEN et, lors du clic sur le bouton je cocherai (ou décocherai) la checkbox correspondante en même temps que tu changes la couleur....
      Ainsi, lors du SUBMIT de ton formulaire tu serais en mesure de savoir quels boutons sont "cliqués"


      ps je n'est jamais entendu parlé de caché hidden"

      Ben c'est donc chose faite.
      Et si tu ne sais pas à quoi cela correspond ni comment s'en servir ... google est là....
      0
    3. Jordi.D Messages postés 60 Statut Membre
       
      Je comprends le principe j'aurais un truc comme ca
      "<input type='checkbox' name='wildid' value=1 checked style='visibility:hidden'>";

      Et pour changer la couleur quand on clique sur le bouton
       function ch(btn ) { 
       
        var colorBtn = stringRGB2HEX(btn.style.backgroundColor);
        if(colorBtn == '#ff0000'){
          btn.style.backgroundColor = '#00ff00'; 
        }else{
          btn.style.backgroundColor = '#ff0000';
        }
      }
      </script>
      0
    4. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > Jordi.D Messages postés 60 Statut Membre
       
      et le fait de cocher/décocher la case ? Tu as oublié de le mettre dans ton code....
      Pour te faciliter la chose.. pense à mettre des ID à tes checkboxes (un ID unique et différent par checkBox )
      // Check
      document.getElementById("id_de_la_checkbox").checked = true;
      
      // Uncheck
      document.getElementById("id_de_la_checkbox").checked = false;
      
      0
    5. Jordi.D Messages postés 60 Statut Membre
       
      Je ne sais pas si j'ai un problème au niveau du css mais mes checkbox ne sont pas " colorée"
      0