Reputation: 65
Trying to make a BMR calculator as a homework assignment. I think i figured most of it out, but i get "undefined" as output in my output field. Here is the code:
<input class="boks" placeholder="vekt i kg" id="vekt" type="text">
<input class="boks" placeholder="høyde i cm" id="hoyde" type="text">
<input class="boks" placeholder="alder" id="alder" type="text">
<button id="beregn" onclick="utregning()">Regn ut din BMR</button>
<input class="boks" placeholder="Din BMR" id="output" type="text"
readonly="true">
js:
var konstant = 66.5;
var vekt = parseInt(document.getElementById("vekt").value);
var vektutr = vekt*13.75;
var hoyde = parseInt(document.getElementById("hoyde").value);
var hoydeutr = hoyde*5.003;
var alder = parseInt(document.getElementById("alder").value);
var alderutr = alder*6.755;
var sum = +konstant + +vektutr + +hoydeutr - +alderutr;
function utregning() {
document.getElementById("output").value = sum;
}
Upvotes: 0
Views: 60
Reputation: 964
try this code: i tried and it's works fine.
<!DOCTYPE html>
<html>
<head>
<title>
My Web Page
</title>
<script>
function utregning() {
var konstant = 66.5;
var vekt = parseInt(document.getElementById("vekt").value);
var vektutr = vekt*13.75;
var hoyde = parseInt(document.getElementById("hoyde").value);
var hoydeutr = hoyde*5.003;
var alder = parseInt(document.getElementById("alder").value);
var alderutr = alder*6.755;
var sum = +konstant +vektutr +hoydeutr - alderutr;
document.getElementById("output").value = sum;
}
</script>
</head>
<body>
<input class="boks" placeholder="vekt i kg" id="vekt" type="text">
<input class="boks" placeholder="høyde i cm" id="hoyde" type="text">
<input class="boks" placeholder="alder" id="alder" type="text">
<button id="beregn" onclick="utregning()">Regn ut din BMR</button>
<input class="boks" placeholder="Din BMR" id="output" type="text"
readonly="true">
</body>
</html>
Upvotes: 0
Reputation: 50291
You need to get all the values from input inside the function, because the code outside the function will execute before calling utregning
and at that time the value of the input field will be empty
var konstant = 66.5;
function utregning() {
var vekt = parseInt(document.getElementById("vekt").value);
var vektutr = vekt * 13.75;
var hoyde = parseInt(document.getElementById("hoyde").value);
var hoydeutr = hoyde * 5.003;
var alder = parseInt(document.getElementById("alder").value);
var alderutr = alder * 6.755;
var sum = +konstant + +vektutr + +hoydeutr - +alderutr;
document.getElementById("output").value = sum;
}
<input class="boks" placeholder="vekt i kg" id="vekt" type="text">
<input class="boks" placeholder="høyde i cm" id="hoyde" type="text">
<input class="boks" placeholder="alder" id="alder" type="text">
<button id="beregn" onclick="utregning()">Regn ut din BMR</button>
<input class="boks" placeholder="Din BMR" id="output" type="text" readonly="true"> js:
Upvotes: 1