Problème sur javascript

Bonjour à tous, je m'entraîne pour mon futur examen sur javascript, mais je suis bloquer sur un point. en gros, si une option est cocher elle doit faire un calcul spécifique. mais si l'autre option est cocher, elle fera un autre calcul spécifique. ce que je ne comprend pas c'est pourquoi je n'arrive à rien avoir en retour.

merci de votre futur aide.

Et merci à la personne qui ma aussi aidé hier ! 

<select id="typeCarrelage" onchange="afficherColle()">
        <fieldset>
            <legend>quelle est le type du carrelage ?
            </legend>

            <div>
                <input type="radio" id="mural" name="carrelage" value="mural" checked>
                <label for="radio">Mural</label>
            </div>

            <div>
                <input type="radio" id="sol" name="carrelage" value="sol">
                <label for="sol">Sol</label>
            </div>
        </fieldset>
    </select>
    <label class="aDroite">Quantité ciment-colle pour carreler la surface : <span id="QtColle">000 kg</span></label>
    
</body>
</html>
------------------------------------------------------------------------------------------

function afficherColle() {
  var largeurP = parseFloat(document.getElementById("largeurPiece").value);
  var longueurP = parseFloat(document.getElementById("longueurPiece").value);
  var mur = document.getElementById("mural").value;
  var sol = document.getElementById("sol").value;

  if (mur == true) {
    var calcul = longueurP * largeurP * 4;
  } else {
    var calcul = longueurP * largeurP * 2.5;
  }

  calcul = calcul.toFixed(0);

  document.getElementById("QtColle").innerHTML = calcul + " kg";
}

3 réponses

  1. Modérateur

    Bonjour

    Ce n'est pas l'attribut value qu'il faut utiliser pour des radio ou des checkboxe mais la propriété checked


    1
    1.  <select id="typeCarrelage" onchange="afficherColle()">
              <fieldset>
                  <legend>quelle est le type du carrelage ?
                  </legend>
      
                  <div>
                      <input type="radio" id="mural" name="carrelage" checked="mural">
                      <label for="radio">Mural</label>
                  </div>
      
                  <div>
                      <input type="radio" id="sol" name="carrelage" checked="sol">
                      <label for="sol">Sol</label>
                  </div>
              </fieldset>
          </select>
          <label class="aDroite">Quantité ciment-colle pour carreler la surface : <span id="QtColle">000 kg</span></label>
          
      </body>
      </html>

      comme ceci ? que ceci ne fonctionne toujours pas

      0
      1. Modérateur

        Non c'est au niveau du JavaScript qu'il faut utiliser la propriété et pas dans le HTML...

        1
      2. @jordane45

        comme ceci?

        <select id="typeCarrelage" onchange="afficherColle()">
                <fieldset>
                    <legend>quelle est le type du carrelage ?
                    </legend>
        
                    <div>
                        <input type="radio" id="mural" name="carrelage" value="mural">
                        <label for="mural">Mural</label>
                    </div>
        
                    <div>
                        <input type="radio" id="sol" name="carrelage" value="sol">
                        <label for="sool">Sol</label>
                    </div>
                </fieldset>
            </select>
            <label class="aDroite">Quantité ciment-colle pour carreler la surface : <span id="QtColle">000 kg</span></label>
            
        </body>
        </html>
        -------------------------------------------
        function afficherColle() {
          var largeurP = parseFloat(document.getElementById("largeurPiece").value);
          var longueurP = parseFloat(document.getElementById("longueurPiece").value);
          var mur = document.getElementById("mural").checked;
        
          if (mur.checked == true) {
            var calcul = longueurP * largeurP * 4;
            console.log(calcul);
          } else {
            var calcul = longueurP * largeurP * 2.5;
          }
        
          calcul = calcul.toFixed(0);
        
          document.getElementById("QtColle").innerHTML = calcul + " kg";
        }
        0
      3. Modérateur
        @francesco1202

        Tu as un checked en trop

        var mur = document.getElementById("mural").checked;
        
          if (mur.checked =
        


        Enlèves en un des deux celui que tu veux 

        0
    2. ca ne marche toujours pas. J'ai retiré un checked mais toujours rien ne se passe, des idées?

      0
      1. Modérateur

        Faudrait :

        1- regarder dans la console du navigateur si il n'y aurait pas des erreurs

        2- nous montrer ton code complet

        0