2017-04-13 10 views
0

Dies ist der Beginn meiner Hausarbeit. Was ist falsch und warum? Wenn Sie etwas ändern, halten Sie es bitte einfach.Einfacher BMR-Rechner HTML JavaScript

dieses Ignorieren: „Ich brauche mehr Text zu addieren, weil:. Es sieht aus wie Sie Ihre Post meist Code ist, bitte mehr Details“ Nun meinen Rechner zeigen nicht das Ergebnis ...

<!DOCTYPE html> 
 

 
<html> 
 

 
<head> 
 

 
<script> 
 

 
var bmr; 
 
var age = document.getElementById("age").value; 
 
var gender = document.getElementById("gender").value; 
 
var height = document.getElementById("height").value; 
 
var weigth = document.getElementById("weigth").value; 
 

 
if (gender == "masc") { 
 
bmr = 66.5 + (13.75 * weigth) + (5.003 * height) – (6.755 * age) 
 
} 
 
else { 
 
bmr = 655.1 + (9.563 * weigth) + (1.850 * height) – (4.676 * age) 
 
} 
 

 
</script> 
 

 
</head> 
 

 
<body> 
 

 
<form action="#"> 
 
    <input type="radio" id="gender" value="masc" checked> Male<br> 
 
    <input type="radio" id="gender" value="fem"> Female<br> 
 
    Age:<br> 
 
    <input type="number" id="age" value="20"><br> 
 
    Height:<br> 
 
    <input type="number" id="height" value="180"><br> 
 
    Weight:<br> 
 
    <input type="number" id="weigth" value="80"><br> 
 
</form> 
 

 
<button type="button" 
 
onclick="document.getElementById('lblResult').innerHTML = bmr"> 
 
Result</button> 
 

 
<p id="lblResult">BMR</p> 
 

 
</body> 
 

 
</html>

+0

Es sieht so aus, als wäre das '-' Zeichen in' - (6.755 * age) 'und' - (4.676 * age) 'keine Minuszeichen, sondern eine andere Art von Bindestrich Warum erhalten Sie den Fehler "Ungültiges ... Token" - löschen Sie diese und geben Sie sie erneut mit der Taste '-' auf Ihrer Tastatur ein. Ich stimme zu, dies durch einen einfachen Tippfehler zu beenden. – nnnnnn

+0

(PS Das * next * Problem wird sein, dass Sie 'document.getElementById()' in einem Skript in '' aufrufen, das läuft * bevor * der Browser Ihre Elemente analysiert hat, aber Sie müssen diesen Code wirklich einfügen eine Funktion, die Sie vom Button Click Event aufrufen können, so dass die Berechnung die aktuell eingegebenen Werte verwendet.) – nnnnnn

+0

Danke nnnnnn und Antonio. –

Antwort

0

Wie der Kommentar erwähnt Sie einen Bindestrich statt eines Minuszeichens in Ihrem Code haben verhindern, dass es funktioniert.

bmr = 66.5 + (13.75 * weigth) + (5.003 * height) here-> - (6.755 * age)

Sie müssen auch das Skript bis zum Ende der HTML-Datei verschieben, kurz vor dem Schließen </body> Tag beacause in Ihrem Code, wenn Sie die Elemente auswählen, die sie nicht geladen werden, so dass es Arbeit dosen't .

Und das onclick-Ereignis wird nicht so funktionieren, wie Sie es beabsichtigt haben, es ist besser, wenn Sie Ereignisse innerhalb des Skripts vornehmen.

document.getElementsByTagName("button")[0].addEventListener("click", 
function() { 
    calc(); 
    document.getElementById('lblResult').innerHTML = bmr; 

}) 

Sie sould auch die Berechnung Code innerhalb einer Funktion bewegen, so dass Sie die Werte wieder berechnen kann, wie es steht, wann immer Sie Sie klicken führen den gleichen Wert erhalten.

Hier ist eine funktionierende Example.

Verwandte Themen