Petit problème de mon programme sur javascript
francesco
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
Bonjour tout le monde, si vous savez me dépanner sa serait le top!
alors voila, je dois faire une application de "calculateur de carrelage" et je suis bloquer à cause d'une fonction qui me renvoie "NaN", je m'en doute que c'est à cause de mes calculs mais après des heures de reflexions, je n'ai toujours pas trouver.
merci de votre futur aide !
<h4>Quelle type de pose ?</h4>
<label class="typePose"></label>
<select id="typeDePose" oninput="afficherNombreCarreau(longueurPiece,largeurPiece,longueurCarreau,largeurCarreau,nombreCarreau,typeDePose)" >
<optgroup label="Pose 1">
<option value="1">Pose classique</option>
</optgroup>
<optgroup label="Pose 2">
<option value="2">Pose en diagonale</option>
</optgroup>
<optgroup label="Pose 3">
<option value="3">Pose quinconce</option>
</optgroup>
</select><br>
<label class="aDroite">nombre carreaux nécessaires pour la pièce : <span id="nombreCARREAU"></span></label><br>
</body>
</html>
----------------------------------------------------------------------------------------------------
function afficherNombreCarreau(
longueurP,
largeurP,
longueurC,
largeurC,
nombreC,
typeDeP
) {
var total = longueurC * largeurC;
total = total / nombreC;
var nombreCARREAU = 0;
nombreCARREAU = (longueurP * largeurP) / total;
if (typeDeP == 1) {
nombreCARREAU = nombreCARREAU * 1.05;
} else if ((typeDeP = 2)) {
nombreCARREAU = nombreCARREAU * 1.1;
} else if ((typeDeP = 3)) {
nombreCARREAU = nombreCARREAU * 1.15;
}
nombreCARREAU = nombreCARREAU.toFixed(0);
document.getElementById("nombreCARREAU").innerHTML = nombreCARREAU;
}
A voir également:
- Petit problème de mon programme sur javascript
- Programme demarrage windows - Guide
- Trier du plus petit au plus grand excel - Guide
- Petit 2 ✓ - Forum Windows
- A javascript error occurred in the main process - Forum Matériel & Système
- Programme bonjour - Forum Windows
1 réponse
Bonjour,
oninput="afficherNombreCarreau(longueurPiece,largeurPiece,longueurCarreau,largeurCarreau,nombreCarreau,typeDePose)"
Déjà, au lieu de "oninput", utilise pluitôt l'évent onchange
Ensuite, dans l'appel à ta fonction, les variables n'existent pas...
Tu dois les récupérer directement dans ta fonction
par exemple, si tes inputs on comme ID la même chose que le nom des variables que tu as essayé de passer à ta fonction :
function afficherNombreCarreau() {
var longueurP = parseFloat(document.getElementById('longueurP').value);
var largeurP = parseFloat(document.getElementById('largeurP').value);
var longueurC = parseFloat(document.getElementById('longueurC').value);
var largeurC = parseFloat(document.getElementById('largeurC').value);
var nombreC = parseFloat(document.getElementById('nombreC').value);
var typeDeP = parseInt(document.getElementById('typeDeP').value);
var coef=0;
switch (typeDeP) {
case 1:
coef = 1.05;
break;
case 2:
coef = 1.1;
break;
case 3:
coef = 1.15;
break;
}
var total = ( longueurC * largeurC ) / nombreC;
var nombreCARREAU = ((longueurP * largeurP) / total) * coef ;
nombreCARREAU = nombreCARREAU.toFixed(0);
document.getElementById("nombreCARREAU").innerHTML = nombreCARREAU;
}