Condition if pour chekbox

Résolu
Bonjour,

Alors voila j'ai un formulaire comportant 2 checkbox et j'aimerai programmer 2 choses avec ceci :

- pouvoir cocher 1 seule checkbox, si on coche la première et qu'on veut cocher la deuxième, décocher la première (vice versa)
- Si 1 des 2 checkbox est cochée, afficher un autre bout de code, si aucune cochée, le bout de code n'est pas apparent

J'ai essayé avec certains if en php mais n'ayant pas encore trop pratiqué de php, ça n'a pas marché :/ je pense juste que je ne sais pas quoi mettre dans ma condition pour savoir si la checkbox est cochée ou non

1 réponse

  1. Modérateur
    1. Merci, ca me donne déjà une piste mais je n'y connais rien en javascrpt donc je ne sais pas comment remplir le script :,)
    2. Modérateur
      @Bozotu as bien compris, le php s’exécute sur le serveur internet quand la page est validée
      alors que le javascript est exécuté en local, sur le pc, par le navigateur

      soit tu te mets au javascript, soit tu revois la logique de ta page php compte tenu de ce que tu sais sur son fonctionnement
    3. @jee peeJ'ai réussi merci, voila mon code si ça peut aider d'autres personnes :

      <!DOCTYPE html>
      <html>
      <body>
      
      <p>Essaye de cocher une case</p>
      
      <label for="myChecka">maintenance:</label> 
      <input type="checkbox" id="myChecka" onclick="myFunction()">
      <label for="myCheckb">assistance:</label> 
      <input type="checkbox" id="myCheckb" onclick="myFunction()">
      
      <div id="text" style="display:none">
      	<input type="checkbox"> Protection 1
      	<input type="checkbox"> Protection 2
      </div>
      
      <script>
      function myFunction(){
        var checkBoxa = document.getElementById("myChecka");
        var checkBoxb = document.getElementById("myCheckb");
        
        var text = document.getElementById("text");
        if (checkBoxa.checked == true || checkBoxb.checked == true){
          text.style.display = "block";
        } else {
           text.style.display = "none";
        }
      }
      </script>
      
      </body>
      </html>