简体   繁体   中英

Undefined output when adding inputs in javascript

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;

}

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: 

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>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM