2017-09-22 1 views
0

Ich habe gerade angefangen zu lernen Javascript (Entschuldigung, wenn mein Code ist ein Durcheinander) in der Lage, einen benutzerdefinierten Rechner zu machen und es in HTML zu integrieren.Berechnen Gesamt OnClick Custom Calculator

Ich möchte, dass mein Rechner in der Lage ist, Männer- und Frauenhaare über die Eingaben des Benutzers zu berechnen; Ich kann jedoch nicht den Wert anzeigen, der nach dem Klicken auf die Schaltfläche Berechnen angezeigt werden soll.

Der Code funktioniert durch die Aufnahme eines Körpergewichts und insgesamt in kg oder Pfund, da die Formel kg verwendet, wenn der Benutzer in Pfund eingibt, dann wandle ich ihre Eingaben in kg. Die Formel hängt auch davon ab, ob die Person weiblich oder männlich ist. Sowohl das Geschlecht als auch die Einheiten werden aus Dropdown-Menüs ausgewählt.

Jede Hilfe mit der Berechnung der Schaltfläche arbeiten würde geschätzt.

<script> 
    function computeWilks(){ 
     var weight = document.getElementById('weight').value; 
     var total = document.getElementById('total').value; 
     if (document.getElementById('units').value === 'lb'){ 
      var weight = (weight * 0.453592) 
      var total = (total * 0.453592) 
     } 

     if (document.getElementById('sex').value === 'female'){ 
      var a = 594.31747775582; 
      var b = -27.23842536447; 
      var c = 0.82112226871; 
      var d = -0.00930733913; 
      var e = 4.731582e-05; 
      var f = -9.054e-08; 
     } 

     if (document.getElementById('sex').value === 'male'){ 
      var a = -216.0475144; 
      var b = 16.2606339; 
      var c = -0.002388645; 
      var d = -0.00113732; 
      var e = 7.01863e-06; 
      var f = -1.291E-08; 
     } 
     var coeff = (500)/((a) + (b * weight) + (c * Math.pow(weight, 2)) + (d * Math.pow(weight, 3)) + (e * Math.pow(weight, 4)) + (f * Math.pow(weight, 5))); 
     var wilks = (coeff * total) 
     document.getElementById('wilks').innerHTML = "Wilks = " + wilks; 
</script> 

<body> 
    <div class="w-calc"> 
     <select id="sex"> 
      <option value="male">male</option> 
      <option value="female">female</option> 
     </select> 
     <select id="units"> 
      <option value="kg">kg</option> 
      <option value="lb">lb</option> 
     </select> 
     <p>Body Weight: <input id="weight" type="number"></p> 
     <p>Total: <input id="total" type="number"></p> 
     <input type="button" onClick="computeWilks()" value="Calculate"/> 
     <h2 id="wilks"></h2> 
    </div> 
</body> 

Antwort

0

Versuchen Sie, diese

var a=0,b=0,c=0,d=0,e=0,f=0; 
 
function computeWilks(){ 
 
    var weight = document.getElementById('weight').value; 
 
    var total = document.getElementById('total').value; 
 
    if (document.getElementById('units').value === 'lb'){ 
 
      weight = (weight * 0.453592) 
 
      total = (total * 0.453592) 
 
     } 
 
    if (document.getElementById('sex').value === 'female'){ 
 
     a = 594.31747775582; 
 
     b = -27.23842536447; 
 
     c = 0.82112226871; 
 
     d = -0.00930733913; 
 
     e = 4.731582e-05; 
 
     f = -9.054e-08; 
 
    }else{ 
 
     a = -216.0475144; 
 
     b= 16.2606339; 
 
     c= -0.002388645; 
 
     d = -0.00113732; 
 
     e = 7.01863e-06; 
 
     f = -1.291E-08; 
 
     } 
 
     
 
var coeff = (500)/((a) + (b * weight) + (c * Math.pow(weight, 2)) + (d * Math.pow(weight, 3)) + (e * Math.pow(weight, 4)) + (f * Math.pow(weight, 5))); 
 
var wilks = (coeff * total); 
 
     document.getElementById('wilks').innerHTML = "Wilks = " + wilks; 
 
}
<body> 
 
    <div class="w-calc"> 
 
     <select id="sex"> 
 
      <option value="male">male</option> 
 
      <option value="female">female</option> 
 
     </select> 
 
     <select id="units"> 
 
      <option value="kg">kg</option> 
 
      <option value="lb">lb</option> 
 
     </select> 
 
     <p>Body Weight: <input id="weight" type="number"></p> 
 
     <p>Total: <input id="total" type="number"></p> 
 
     <input type="button" onClick="computeWilks()" value="Calculate"/> 
 
     <h2 id="wilks"></h2> 
 
    </div> 
 
</body>

+0

Vielen Dank! Was hast du anders gemacht als das, was ich hatte? Ich kann die Fehler nicht erkennen, die ich gemacht habe) – minotrument

0

Versuchen Sie folgendes:

<script> 
function computeWilks(){ 
    var weight = document.getElementById('weight').value; 
    var total = document.getElementById('total').value; 
    if (document.getElementById('units').value === 'lb'){ 
     var weight = (weight * 0.453592) 
     var total = (total * 0.453592) 
    } 
    if (document.getElementById('sex').value === 'female'){ 
     var a = 594.31747775582; 
     var b = -27.23842536447; 
     var c = 0.82112226871; 
     var d = -0.00930733913; 
     var e = 4.731582e-05; 
     var f = -9.054e-08; 
    } 
    else{ 
    var a = -216.0475144; 
    var b = 16.2606339; 
    var c = -0.002388645; 
    var d = -0.00113732; 
    var e = 7.01863e-06; 
    var f = -1.291E-08; 
    } 
    var coeff = (500)/((a) + (b * weight) + (c * Math.pow(weight, 2)) + (d * Math.pow(weight, 3)) + (e * Math.pow(weight, 4)) + (f * Math.pow(weight, 5))); 
    var wilks = (coeff * total) 
    document.getElementById('wilks').innerHTML = "Wilks = " + wilks; 
} 
</script> 

<body> 
<div class="w-calc"> 
    <select id="sex"> 
     <option value="male">male</option> 
     <option value="female">female</option> 
    </select> 
    <select id="units"> 
     <option value="kg">kg</option> 
     <option value="lb">lb</option> 
    </select> 
    <p>Body Weight: <input id="weight" type="number"></p> 
    <p>Total: <input id="total" type="number"></p> 
    <input type="button" onClick="computeWilks()" value="Calculate"/> 
    <h2 id="wilks"></h2> 
</div> 
</body> 
0
diese

Versuchen:

<script> 
    function computeWilks(){ 
     var weight = document.getElementById('weight').value; 
     var total = document.getElementById('total').value; 
     var values = { 
      a: { m: -216.0475144, f: 594.31747775582 }, 
      b: { m: 16.2606339, f: -27.23842536447 }, 
      c: { m: -0.002388645, f: 0.82112226871 }, 
      d: { m: -0.00113732, f: -0.00930733913 }, 
      e: { m: 7.01863e-06, f: 4.731582e-05 }, 
      f: { m: -1.291E-08, f: -9.054e-08 } 
     } 
     if (document.getElementById('units').value === 'lb'){ 
      var weight = (weight * 0.453592) 
      var total = (total * 0.453592) 
     } 
     var indexx = (document.getElementById('sex').value === 'female') ? 'f' : 'm' 
     var coeff = (500)/((values.a[indexx]) + (values.b[indexx] * weight) + (values.c[indexx] * Math.pow(weight, 2)) + (values.d[indexx] * Math.pow(weight, 3)) + (values.e[indexx] * Math.pow(weight, 4)) + (values.f[indexx] * Math.pow(weight, 5))); 
     var wilks = (coeff * total) 
     document.getElementById('wilks').innerHTML = "Wilks = " + wilks; 
    } 
</script> 

Hoffe, das hilft.