Calculatrice pour engrais liquide

Fermé
asp2p Messages postés 91 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 29 août 2023 - Modifié le 18 mai 2017 à 00:13
 Utilisateur anonyme - 22 mai 2017 à 08:58
Bonjour,
le projet est une calculatrice qui mesure des quantités de produit à mélanger avec de l'eau et à pulvériser sur une surface

une personne m'a fait le code ci-dessous
sauf que cette personne a laisser le code dans une page "fond blanc"
c'est sympa de sa part d'avoir fait le code j'en suis conscient
mais niveau présentation de la page c'est pas tres beau
je lui est demander comment faire mais il n'a pas trop le temps pour refaire le code

autre problème...
quand ont arrive sur la page il faut remplir les infos et cliquer sur valider pour afficher le résultat
en fait il fait charge des fonctions pour les affiches ( "résultat" )
j'aurais quand même préférer que le résultat s'affiche dans mon formulaire et non comme lui l'a fait dans sont code

ci-dessous "sont code" que je voudrais insérer dans "le mien" pour avoir le coté esthétique ( table, fond gris, etc. )

Sont Code...
<!DOCTYPE [/contents/498-html-langage html]>
<html>
<head>
<style type="text/css">
 h3 {color:red}
 h4 {color:blue}
</style>
<script>
var produits = [
{'produit':'Délectose','quantite':5,'surface':10},
{'produit':'Briamide','quantite':3.5,'surface':5},
{'produit':'Cortofade','quantite':4,'surface':17}
];

var quantite = 0;
var surface = 0;

function creeListe() {
var html = "";
 html = option ="<option value='x'>Sélectionner un produit</option>";
for(var i=0;i<produits.length;i++) {
var option ="<option value='"+i+"'>"+produits[i].produit+"</option>";
 html=html+option;
}
document.getElementById('produit').innerHTML = html;
}

function init(value) {
 quantite = 0;
 surface = 0; 
var xcp = document.getElementById('cp').value; 
var xst = document.getElementById('st').value; 
document.getElementById('info').innerHTML = "<br/>";
if (value!="x") {
 quantite = produits[value].quantite;
 surface = produits[value].surface; 
document.getElementById('info').innerHTML = "Dosage = "+quantite+" ml par litre et 1 litre pour "+surface+" m2";
}
document.getElementById('resultat').innerHTML = '';
if (xcp != 0 && xst != 0) {
 calcul();
}
}

function calcul() {
var idProduit = document.getElementById('produit').value;
if ( idProduit== "x" ) {
alert("Sélectionner un produit !!!");
return;
}
if (isNaN(document.getElementById('cp').value)) {
alert("Contenance incorrecte !!!");
return; 
}
if (document.getElementById('cp').value <= 0) {
alert("Contenance incorrecte !!!");
return; 
} 
if (isNaN(document.getElementById('st').value)) {
alert("Surface terrain incorrecte !!!");
return; 
} 
if (document.getElementById('st').value <= 0) {
alert("Surface terrain incorrecte !!!");
return; 
} 
var xcp = document.getElementById('cp').value; 
var xst = document.getElementById('st').value; 
var a = document.getElementById('resultat'); 
 a.innerHTML = "<hr/>";
// dosage produit pour un m2
var dosage1M2 = quantite / surface;

// dosage produit total 
var dose = dosage1M2 * xst;
var x = parseInt(dose*100)/100;
//a.innerHTML = a.innerHTML + 'Dose totale de '+produits[idProduit].produit+" = "+x+" ml<br/>";
// nombre de litres total
var litres = xst / surface;
var y = parseInt(litres*100)/100;
//a.innerHTML = a.innerHTML + "Quantité totale d'eau = "+y+" L<br/>";

// nombre de pulvérisateurs 
//a.innerHTML = a.innerHTML + 'Prévoir :<br/>';
var pulve = y/xcp;

// Nombre de pulvérisateurs complets
var pulComp = parseInt(pulve);
if (pulComp != 0) {
var zC = quantite * xcp;
 libelle = pulComp == 1 ? "pulvérisateur" : "pulvérisateurs";
//a.innerHTML = a.innerHTML + "* "+pulComp+" "+libelle+" de chacun "+xcp+" L et "+zC+" ml de "+produits[idProduit].produit+"<br/>";
}
// Pulvérisateur partiel
var pulPart = pulve - pulComp;
if (pulPart != 0) {
var w = pulPart * xcp * 100;
 w = Math.round(w,2) / 100; 
var z = w * quantite * 100;
 z = Math.round(z,2) / 100; 
//a.innerHTML = a.innerHTML + "* 1 pulvérisateur de "+w+" L et "+z+" ml de "+produits[idProduit].produit+"<br/>";
}
//------- Mélange à faire comme ceci
 a.innerHTML = a.innerHTML + "<hr/>";
 a.innerHTML = a.innerHTML + "<h3 color='red'>Mélange à faire comme ceci :</h3>"; 

if (pulComp != 0) {
 libelle = pulComp == 1 ? "Dans le pulvérisateur rempli complètement/" : "Dans chacun des "+pulComp+" pulvérisateurs remplis complètement:";
 a.innerHTML = a.innerHTML + "<h4>"+libelle+"</h4>"; 
 a.innerHTML = a.innerHTML + "Litre(s) d'eau à mettre :<br/>";
 a.innerHTML = a.innerHTML + "<input type='text' disabled value='"+xcp+" L'/><br/>";
 a.innerHTML = a.innerHTML + "Millilitre(s) de "+produits[idProduit].produit+" à mettre :<br/>";
 a.innerHTML = a.innerHTML + "<input type='text' disabled value='"+zC+" ml'/><br/>"; 
 a.innerHTML = a.innerHTML + "Surface couverte en m2 :<br/>";
 xSurface = surface * xcp;
 a.innerHTML = a.innerHTML + "<input type='text' disabled value='"+xSurface+" m2'/><br/>"; 
}
if (pulPart != 0) {
 a.innerHTML = a.innerHTML + "<h4>Dans le pulvérisateur rempli partiellement:</h4>"; 
 a.innerHTML = a.innerHTML + "Litre(s) d'eau à mettre :<br/>";
 a.innerHTML = a.innerHTML + "<input type='text' disabled value='"+w+" L'/><br/>";
 a.innerHTML = a.innerHTML + "Millilitre(s) de "+produits[idProduit].produit+" à mettre :<br/>";
 a.innerHTML = a.innerHTML + "<input type='text' disabled value='"+z+" ml'/><br/>"; 
 a.innerHTML = a.innerHTML + "Surface couverte en m2 :<br/>";
 xSurface = surface * w;
 a.innerHTML = a.innerHTML + "<input type='text' disabled value='"+xSurface+" m2'/><br/>";
}

//------- Quantité pour couvrir le terrain
 a.innerHTML = a.innerHTML + "<hr/>";
 a.innerHTML = a.innerHTML + "<h3 color='red'>Quantité pour couvrir votre terrain :</h3>";
// Eau
 a.innerHTML = a.innerHTML + "Quantité d'eau en litres :<br/>";
 a.innerHTML = a.innerHTML + "<input type='text' disabled value='"+y+" L'/><br/>";
// Produit
 a.innerHTML = a.innerHTML + "Quantité de produit en millilitres :<br/>";
 a.innerHTML = a.innerHTML + "<input type='text' disabled value='"+x+" ml'/><br/>"; 
// Nombre de pulvérisateurs
 a.innerHTML = a.innerHTML + "Nombre de pulvérisateurs :<br/>"; 
if (pulComp != 0) {
 libelle = pulComp == 1 ? "pulvérisateur" : "pulvérisateurs";
 a.innerHTML = a.innerHTML + "- "+pulComp+" "+libelle+" de "+xcp+" L<br/>";
} 
// Pulvérisateur partiel
var pulPart = pulve - pulComp;
if (pulPart != 0) {
var w = pulPart * xcp * 100;
 w = Math.round(w,2) / 100; 
var z = w * quantite * 100;
 z = Math.round(z,2) / 100; 
 a.innerHTML = a.innerHTML + "- 1 pulvérisateur de "+w+" L <br/>";
} 
}
</script>
</head>

<body onload="creeListe()" style="font-family:verdana">
<h2>Calcul</h2>
<select id="produit" onchange="init(this.value)">
</select>
<div id="info">
<br/>
</div> 
<br/><br/><br/>
<table>
<tr>
<td>Contenance pulvérisateur (L)</td>
<td>:</td>
<td><input type="text" id="cp" value="0" /><br/></td>
</tr>
<tr>
<td>Surface Terrain (m2)</td>
<td>:</td>
<td><input type="text" id="st" value="0" /><br/></td>
</tr> 
</table>
<input type="button" value="Valider" onclick="calcul();"/>
<div id="resultat">

</div>
</body>
</html>

Image de présentation ( si j'essai depuis le menu du post l'image s'affiche pas )
voici le liens: https://www.zupimages.net/viewer.php?id=17%2F20%2F7f0z.jpg

Mon Code...
je sais que le miens est que du html basic d'où le pourquoi je voudrais mettre sont code dans le miens
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body background="http://bookgazon.hebergratuit.net/herbe.jpg">
<table width="50%" border="1" align="center">
 <tr bgcolor="#CCCCCC"> 
 <td> 
 <p><b><font size="6">Calculatrice<br>
 <font size="3">pour bien calculer le dosage d'un produit<br>
 <font color="#808080">...........................................................................................................................................................................................................................................</font></font></font></b></p>
 <p><b><font color="#FF3333"><u>Informations.</u></font></b></p>
 <p><b><br>
 Produits:</b> <font color="#FF3333"><b>*</b></font><br>
 <font size="2">Veuillez choisir le produit que vous souhaitez utilisez 
 </font></p>
 <form name="form1" >
 <select name="select" size="1">
 <option>Produit 1</option>
 <option>Produit 2</option>
 <option>Produit 3</option>
 <option>Produit 4</option>
 </select>
 </form>
 <p><br>
 <b>Pulverisateur: <font color="#FF3333">*</font></b><br>
 <font size="2">Indiquez la quantité de votre pulverisateur en litre </font> 
 </p>
 <form name="form2" >
 <input type="text" name="textfield">
 </form>
 <br>
 <b>Superficie du terrain</b> <font color="#FF3333"><b>*</b></font><br>
 <font size="2">indiquer la superficie de votre terrain en m2<br>
 </font> 
 <form name="form3" >
 <input type="text" name="textfield2">
 </form>
 <br>
 <form name="form4" >
 <input type="submit" name="Submit" value="Valider">
 </form>
 <p><b><font color="#FF3333"><u> </u></font></b></p>
 <p><b><font color="#FF3333"><u>Vous devez mettre dans votre pulverisateur:</u></font></b></p>
 <b>Quantité d'eau en "L" à mettre dans votre pulverisateur:</b><br>
 <form name="form5" >
 <input type="text" name="textfield3">
 </form>
 <br>
 <b>Quantité de produit en "ml" à mettre dans le pulverisateur:</b><br>
 <form name="form5" >
 <input type="text" name="textfield4">
 </form>
 <br>
 <b>Surface à couvrir en m2... pour un pulverisateur:</b><br>
 <form name="form5" >
 <input type="text" name="textfield5">
 </form>
 <p><b><font color="#FF3333"><u><br>
 </u></font></b></p>
 <p><b><font color="#FF3333"><u>Quantité total pour faire tout votre terrain:</u></font></b><br>
 </p>
 <p> <b>Quantité d'eau</b></p>
 <form name="form5" >
 <input type="text" name="textfield3">
 </form>
 <br>
 <b>Quantité de produit</b><br>
 <form name="form5" >
 <input type="text" name="textfield4">
 </form>
 <br>
 <b>Nombre de pulverisateur</b><br>
 <form name="form5" >
 <input type="text" name="textfield5">
 </form>
 <br>
 <br>
 <b>Descriptif du produit</b><br>
 <form name="form6" >
 <input type="text" name="textfield6">
 </form>
 <br>
 </td>
 </tr>
</table>
</body>
</html>

Image de présentation ( si j'essai depuis le menu du post l'image s'affiche pas )
voici le liens: https://www.zupimages.net/

si quelqu'un a la solution se serait vraiment bien car je connais pas le JavaScript et c'est vraiment dur pour moi de trouver une solution

A voir également:

2 réponses

asp2p Messages postés 91 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 29 août 2023
18 mai 2017 à 08:53
Re
en fait sur la calculette...
il faut cliquer sur valider pour afficher le résultat... ( le code fait appel/charge toutes les "fonctions" après avoir avoir cliquer sur le bouton valider )
hors que moi dans ma page
c'était pas comme ça et je ne trouve pas comment faire pour mettre sont formulaire comme ci-dessous
0
Utilisateur anonyme
Modifié le 18 mai 2017 à 10:23
Salut,

La version JSFiddle : https://jsfiddle.net/wreLeos4/1/
Attention, pour une raison qui m'échappe, le code de JSFiddle est légèrement différent car il plante dans le cas contraire. Merci d'utiliser ce code dans ta page HTML :

var produits = {
 "Délectose":{"quantite":5,"surface":10},
 "Briamide":{"quantite":3.5,"surface":5},
 "Cortofade":{"quantite":4,"surface":17}
};

var quantite = 0;
var surface = 0;
function eventListeners(){    document.getElementById("submitButton").addEventListener("click",calcul,false);
}
  

function calcul() {
 var idProduit = document.getElementById('produit').value;
 surface = produits[idProduit].surface;
 quantite = produits[idProduit].quantite;
 if ( idProduit== "x" ) {
  alert("Sélectionner un produit !!!");
  return;
 }
 if (isNaN(document.getElementById('cp').value)) {
  alert("Contenance incorrecte !!!");
  return; 
 }
 if (document.getElementById('cp').value <= 0) {
  alert("Contenance incorrecte !!!");
  return; 
 } 
 if (isNaN(document.getElementById('st').value)) {
  alert("Surface terrain incorrecte !!!");
  return; 
 } 
 if (document.getElementById('st').value <= 0) {
  alert("Surface terrain incorrecte !!!");
  return; 
 } 
 var xcp = document.getElementById('cp').value; 
 var xst = document.getElementById('st').value; 
 // dosage produit pour un m2
 var dosage1M2 = quantite / surface;
 // dosage produit total 
 var dose = dosage1M2 * xst;
 var x = parseInt(dose*100)/100;
 // nombre de litres total
 var litres = xst / surface;
 var y = parseInt(litres*100)/100;
 // nombre de pulvérisateurs 
 var pulve = y/xcp;
 // Nombre de pulvérisateurs complets
 var pulComp = parseInt(pulve);
 if (pulComp != 0) {
  var zC = quantite * xcp;
 }
 // Pulvérisateur partiel
 var pulPart = pulve - pulComp;
 if (pulPart != 0) {
  var w = pulPart * xcp * 100;
  w = Math.round(w,2) / 100; 
  var z = w * quantite * 100;
  z = Math.round(z,2) / 100; 
 }
 // EAU DANS UN PULVERISATEUR : xcp litres
 // PRODUIT DANS UN PULVERISATEUR : produits[idProduit].quantite ml
 // SURFACE COUVERTE : surface * xcp m2
 // QUANTITE EAU TOTALE : y
 // QUANTITE PRODUIT TOTALE : x
        // NOMBRE PULVERISATEUR : pulComp
 document.getElementById("quantite_eau").value = xcp;
 document.getElementById("quantite_produit").value = produits[idProduit].quantite;
        document.getElementById("surface").value = surface * xcp;
 document.getElementById("eau_total").value = y;
 document.getElementById("produit_total").value = x;
 document.getElementById("nb_pulverisateur").value = pulComp;
}

<body background="http://bookgazon.hebergratuit.net/herbe.jpg" onload="eventListeners();">
  
<table align="center" border="1" width="50%">
 <tbody><tr bgcolor="#CCCCCC"> 
 <td> 
 <p><b><font size="6">Calculatrice<br>
 <font size="3">pour bien calculer le dosage d'un produit<br>
 <font color="#808080">...........................................................................................................................................................................................................................................</font></font></font></b></p>
 <p><b><font color="#FF3333"><u>Informations.</u></font></b></p>
 <p><b><br>
 Produits:</b> <font color="#FF3333"><b>*</b></font><br>
 <font size="2">Veuillez choisir le produit que vous souhaitez utilisez 
 </font></p>
 <form name="form1">
 <select id="produit" name="select" size="1">
 <option>Délectose</option>
 <option>Briamide</option>
 <option>Cortofade</option>
 </select>
 </form>
 <p><br>
 <b>Pulverisateur: <font color="#FF3333">*</font></b><br>
 <font size="2">Indiquez la quantité de votre pulverisateur en litre </font> 
 </p>
 <form name="form2">
 <input name="textfield" id="cp" type="text">
 </form>
 <br>
 <b>Superficie du terrain</b> <font color="#FF3333"><b>*</b></font><br>
 <font size="2">indiquer la superficie de votre terrain en m2<br>
 </font> 
 <form name="form3">
 <input name="textfield2" id="st" type="text">
 </form>
 <br>
 <form name="form4">
 <input name="Submit" value="Valider" id="submitButton" type="button">
 </form>
 <p><b><font color="#FF3333"><u> </u></font></b></p>
 <p><b><font color="#FF3333"><u>Vous devez mettre dans votre pulverisateur:</u></font></b></p>
 <b>Quantité d'eau en "L" à mettre dans votre pulverisateur:</b><br>
 <form name="form5">
 <input name="textfield3" id="quantite_eau" type="text">
 </form>
 <br>
 <b>Quantité de produit en "ml" à mettre dans le pulverisateur:</b><br>
 <form name="form5">
 <input name="textfield4" id="quantite_produit" type="text">
 </form>
 <br>
 <b>Surface à couvrir en m2... pour un pulverisateur:</b><br>
 <form name="form5">
 <input name="textfield5" id="surface" type="text">
 </form>
 <p><b><font color="#FF3333"><u><br>
 </u></font></b></p>
 <p><b><font color="#FF3333"><u>Quantité total pour faire tout votre terrain:</u></font></b><br>
 </p>
 <p> <b>Quantité d'eau</b></p>
 <form name="form5">
 <input name="textfield3" id="eau_total" type="text">
 </form>
 <br>
 <b>Quantité de produit</b><br>
 <form name="form5">
 <input name="textfield4" id="produit_total" type="text">
 </form>
 <br>
 <b>Nombre de pulverisateur</b><br>
 <form name="form5">
 <input name="textfield5" id="nb_pulverisateur" type="text">
 </form>
 <br>
 <br>
 <b>Descriptif du produit</b><br>
 <form name="form6">
 <input name="textfield6" type="text">
 </form>
 <br>
 </td>
 </tr>
</tbody></table>
</body></html>


Aider est mon nindo
0
asp2p Messages postés 91 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 29 août 2023
Modifié le 18 mai 2017 à 14:12
Re salut
je tient avant tout à te remercier pour ton aide car c'est vraiment sympa de ta part

par contre sois j'ai mal placer le code (se que je pense pas)
ou alors il y a des bugs dedans...

liens de l'image qui montre les erreurs
https://www.zupimages.net/viewer.php?id=17%2F20%2Fvfwf.jpg
0
Utilisateur anonyme
18 mai 2017 à 20:41
Après, j'ai pas essayé de comprendre les deux codes. Je les aient juste assemblé. A toi de modifier les formules et de comprendre, tu as ton résultat.
0
asp2p Messages postés 91 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 29 août 2023
Modifié le 18 mai 2017 à 21:43
le souci c'est que je connais pas le JavaScript c'est bien pour cela que je suis venu demander de l'aide
et apprendre le JavaScript c'est se que j'essai de faire mais sa ne s'apprend pas en 1 jours ni en 1 mois
donc j'espère que quelqu'un pourra m'aider
0
Utilisateur anonyme
19 mai 2017 à 17:35
Il faut que tu regardes si cette partie de code pour le calcul présente des erreurs (au calcul). Voici le bout de code chargé de faire la partie calcul :
function calcul() {
 var xcp = document.getElementById('cp').value;  // xcp = valeur dans le champ quantité pulvérisateur en L
 var xst = document.getElementById('st').value; // xst = valeur dans le champ surface terrain
 // dosage produit pour un m2
 var dosage1M2 = quantite / surface;
 // dosage produit total 
 var dose = dosage1M2 * xst;
 var x = parseInt(dose*100)/100; // parseInt est une fonction qui transforme un nombre en un entier (exemple : parseInt(3.4) = 3)
 // nombre de litres total
 var litres = xst / surface;
 var y = parseInt(litres*100)/100;
 // nombre de pulvérisateurs 
 var pulve = y/xcp;
 // Nombre de pulvérisateurs complets
 var pulComp = parseInt(pulve);
 if (pulComp != 0) {
  var zC = quantite * xcp;
 }
 // Pulvérisateur partiel
 var pulPart = pulve - pulComp;
 if (pulPart != 0) {
  var w = pulPart * xcp * 100;
  w = Math.round(w,2) / 100; // Math.round(a,b) arrondi le nombre a avec b décimal (ici w avec 2 décimales)
  var z = w * quantite * 100;
  z = Math.round(z,2) / 100; 
 }
 // EAU DANS UN PULVERISATEUR : xcp litres
 // PRODUIT DANS UN PULVERISATEUR : produits[idProduit].quantite ml
 // SURFACE COUVERTE : surface * xcp m2
 // QUANTITE EAU TOTALE : y
 // QUANTITE PRODUIT TOTALE : x
 // NOMBRE PULVERISATEUR : pulComp
0
asp2p Messages postés 91 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 29 août 2023 > Utilisateur anonyme
19 mai 2017 à 18:31
je fait comment pour vérifier stp ?
il faut que je place se code dans ma page ?
franchement je suis complètement perdu et je me dit qu'a force mon problème ne sera toujours pas résolu
0