[英]simple javascript button onclick function if/else not work
我是一個JavaScript初學者,我正在編寫一個簡單的代碼來計算BMI。 兩個文本框輸入您的身高和體重,然后按“計算”按鈕將計算公式。 如果/否則將得到結果並說出您的身材。 最后會提醒計算數字和數字! 我想知道為什么我的函數不能正常工作,以及如何編寫正確的函數來警告這兩個結果。 謝謝。
<!DOCTYPE html>
<html>
<body>
<form name="form" id="form">
BMI_Calculator
<br>
Please enter your height(m)
<input type="numbers" name="height" id="height">
<br>
Please enter your weight(kg)
<input type="numbers" name="weight" id="weight">
</form>
<input type="button" value="Calculate" onclick="add();"></button>
這就是功能。 這是我的想法,完成計算后,將結果('z')放入compare()並執行if / else。 如果我的想法是錯誤的,請告訴我。 謝謝!
function add() {
var z,s;
var x=parseFloat(document.getElementById('height').value);
var y=parseFloat(document.getElementById('weight').value);
s=x*x;
z=y/s;
compare(z);
}
function compare() {
if(z <= 18) {
alert("too thin!");
} else if( z <= 18 && z < 24 ){
alert("standard!");
} else {
alert("too fat!");
}
}
您尚未在compare
函數中接受z
作為參數。 另外,您的陳述之一的語法錯誤。 你可以這樣寫你的條件
function add() { var z,s; var x=parseFloat(document.getElementById('height').value); var y=parseFloat(document.getElementById('weight').value); s=x*x; z=y/s; compare(z); } function compare(z) { // ^ if (z <= 18) { alert("too thin!"); } else if (z < 24) { alert("standard!"); } else { alert("too fat!"); } }
<form name="form" id="form"> BMI_Calculator <br> Please enter your height(m) <input type="numbers" name="height" id="height"> <br> Please enter your weight(kg) <input type="numbers" name="weight" id="weight"> </form> <input type="button" value="Calculate" onclick="add();">
您沒有將值傳遞給函數。
函數compare必須接受傳遞的參數
function compare(z) {
if(z<=18){
alert("too thin!");
}else if(z<=18&&z<24){
alert("standard!");
}else if(z>=24){
alert("too fat!");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.