Problème sur javascript

francesco1202 Messages postés 10 Statut Membre -  
jordane45 Messages postés 40050 Statut Modérateur -

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

jordane45 Messages postés 40050 Statut Modérateur 4 757
 

Bonjour

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


1
francesco1202 Messages postés 10 Statut Membre
 
 <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
jordane45 Messages postés 40050 Statut Modérateur 4 757
 

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

1
francesco1202 Messages postés 10 Statut Membre > jordane45 Messages postés 40050 Statut Modérateur
 

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
jordane45 Messages postés 40050 Statut Modérateur 4 757 > francesco1202 Messages postés 10 Statut Membre
 

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
francesco1202 Messages postés 10 Statut Membre
 

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

0
jordane45 Messages postés 40050 Statut Modérateur 4 757
 

Faudrait :

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

2- nous montrer ton code complet

0