簡體   English   中英

我開始學習 JavaScript 並且我的 if 語句有問題

[英]I started learning JavaScript and I have a problem with if statement

我開始學習 JavaScript,我想做自己的小項目“BMI 計算器”,但我的 if 語句找不到錯誤。 一切正常,但如果作為輸入我將輸入例如 0,我看不到任何警告消息,而是看到計算結果。

 function sum() { var num1 = +document.getElementById('height').value; if (num1 <= 0) { var text1 = " Wrong Height Input " document.getElementById('messagePanel').innerHTML = text1; } var num2 = +document.getElementById('weight').value; if (num2 <= 0) { var text2 = " Wrong Weight Input " document.getElementById('messagePanel').innerHTML = text2; } var num1 = num1 / 100; var sum = num2 / (num1 * num1); var fixedSum = sum.toFixed(1); document.getElementById('messagePanel').innerHTML = fixedSum; }
 Height: <input id="height"> <br> Weight: <input id="weight"> <br> <input type="button" value="Calculate" onclick="sum()"> <br> BMI: <div id="messagePanel"></div>

因為當您檢測到無效輸入時,您不會停止 function。 您將錯誤消息放入消息面板中,然后繼續使用無效輸入執行計算的代碼。

顯示錯誤消息后,您應該從 function 返回。

 function sum() { var num1 = +document.getElementById('height').value; if (num1 <= 0) { var text1 = " Wrong Height Input " document.getElementById('messagePanel').innerHTML = text1; return; } var num2 = +document.getElementById('weight').value; if (num2 <= 0) { var text2 = " Wrong Weight Input " document.getElementById('messagePanel').innerHTML = text2; return; } var num1 = num1 / 100; var sum = num2 / (num1 * num1); var fixedSum = sum.toFixed(1); document.getElementById('messagePanel').innerHTML = fixedSum; }
 Height: <input type="number" id="height"> <br> Weight: <input type="number" id="weight"> <br> <input type="button" value="Calculate" onclick="sum()"> <br> BMI: <div id="messagePanel"></div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM