我对JS很新,我认为在我使用Javascript进行算术的部分中,我的代码存在问题。如果有人能告诉我出错的地方,我将非常感激!目前,除了单击计算按钮时返回NaN,一切正常。
HTML:
<form>
AGE:<br><input id="Age" data-wrapper-class="inputBox" type="text" name="Age"><br>
</form>
<form>
HEIGHT (FEET):<br><input id="Feet" data-wrapper-class="inputBox" type="text" name="Feet"><br>
</form>
<form>
HEIGHT (INCHES):<br><input id="Inches" data-wrapper-class="inputBox" type="text" name="Inches"><br>
</form>
<form>
WEIGHT (POUNDS):<input id="Pounds" data-wrapper-class="inputBox" type="text" name="Pounds"><br>
</form>
<button id="calcButton" class="ui-btn ui-btn-b">Calculate BMR</button>
</div>
<div id="resultsInfo">
<p id="results"></p>
</div>
Javascript / jQuery:
$("#calcButton").click(function() {
var age = document.forms["Age"];
var feet = document.forms["Feet"];
var inches = document.forms["Inches"];
var wip = document.forms["Pounds"];
var feetInches = feet * 12;
var heightInches = feetInches + inches;
var weightMen = 6.23 * wip;
var heightMen = 12.7 * heightInches;
var ageMen = 6.8 * age;
var one = 66 + weightMen;
var two = one + heightMen;
var menBMR = two - ageMen;
$("#Calculator").hide();
parseFloat(document.getElementById("results").innerHTML = menBMR);
$("#resultsInfo").show();
});
答案 0 :(得分:2)
正如Jaromanda所提到的,您需要确保这些值实际上是Number
值。一旦它们是数字类型,那么你可以对它们进行算术运算。这就是为什么这很重要:
var str = "12" // Number value
var num = 12 // String value
console.log(str * 2) // 1212
console.log(num * 2) // 24
在您的代码示例中,您看起来好像使用了收集type="text"
的输入,这意味着您从中获取的值将为您提供String值。您可以使用parseInt
或parseFloat
将其转换为数字,或者您可以将HTML输入类型更改为type="number"
。