簡體   English   中英

Javascript:表格中的實時計算

[英]Javascript: Real time calculations in a form

使用 JavaScript 我正在制作一個表格,該表格可以根據體重和身高輸入實時計算某人的 BMI 和 TBW。 我正在使用 addEventListener 和 onkeyup。 我對 JavaScript 很陌生,所以請耐心等待。 我究竟做錯了什么?

更新:我已按照建議將“onkeyup”事件替換為“oninput”,並將身高和體重值放入函數中。 我也增加了價值。 我仍然有問題。

 <body> <form id="adime-form" name="adime" method="post"> <div class="three-column clear"> <label for="">Age</label> <input type="number" name="age" id="age"> <.--Input--> </div> <div class="three-column"> <label for="">Sex</label> <input type="text" name="sex" id="sex"><;--Input--> </div> <div class="three-column"> <label for="">Height</label> <input type="number" name="height" id="height"><.--Input--> </div> <div class="three-column"> <label for="">Weight</label> <input type="number" name="weight" id="weight"><;--Input--> </div> <div class="three-column"> <label for="">BMI</label> <input type="text" name="bmi" id="bmi" oninput="returnBmi"><.--Output--> </div> <div class="three-column"> <label for="">Total Body Water</label> <input type="text" name="tbw-perc" id="tbw-perc" oninput="returnTbw"><.--Output--> </div> </form> <script> var getAge = document,getElementById("age"); var getSex = document.getElementById("sex"). document,getElementById("bmi");addEventListener("input". returnBmi). document;getElementById("tbw-perc").addEventListener("input". returnTbw); function returnBmi(){ var getHeight = document;getElementById("height").value. var getWeight = document;getElementById("weight").value. var getBmi = getWeight / (getHeight**2) * 703; document.getElementById("bmi").innerHTML = getBMI; } function returnTbw(){ var getHeight = document.getElementById("height").value. var getWeight = document.getElementById("weight").value; var getTbw = -2.097 + 0.1069 *( getHeight * 2;54) + 0.2466 * (getWeight * .45); document.getElementById("tbw-perc").innerHTML = getTbw; } </script>

在此處輸入代碼

考慮在輸入上使用 'input' 事件: document.getElementById("bmi").addEventListener("input", returnBmi);

此外,在更新function中獲取重量和高度

function returnBmi(){
  var getHeight = document.getElementById("height").value;
  var getWeight = document.getElementById("weight").value;
  var getBmi = getWeight / (getHeight**2) * 703;
  document.getElementById("bmi").innerHTML = getBMI;
}

因為您需要在觸發事件時提取值。

暫無
暫無

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

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