Petit problème de mon programme sur javascript
francesco
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
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
- Programme bonjour - Forum Windows
- Petit 3 ✓ - Forum Word
- A javascript error occurred in the main process - Forum Matériel & Système
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; }