Problème sur javascript

Fermé
francesco1202 Messages postés 4 Date d'inscription lundi 15 août 2022 Statut Membre Dernière intervention 17 août 2022 - Modifié le 16 août 2022 à 17:43
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 17 août 2022 à 03:39

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";
}
A voir également:

3 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
16 août 2022 à 18:34

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 4 Date d'inscription lundi 15 août 2022 Statut Membre Dernière intervention 17 août 2022
16 août 2022 à 18:48
 <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 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
16 août 2022 à 19:32

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

1
francesco1202 Messages postés 4 Date d'inscription lundi 15 août 2022 Statut Membre Dernière intervention 17 août 2022 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
16 août 2022 à 20:03

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 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > francesco1202 Messages postés 4 Date d'inscription lundi 15 août 2022 Statut Membre Dernière intervention 17 août 2022
Modifié le 16 août 2022 à 22:08

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 4 Date d'inscription lundi 15 août 2022 Statut Membre Dernière intervention 17 août 2022
17 août 2022 à 02:09

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

0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
17 août 2022 à 03:39

Faudrait :

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

2- nous montrer ton code complet

0