我目前正在尝试开发一个简单的移动应用程序来计算您的BMI,BMR等.
有两个单独的公式来计算男性和女性BMR.
对于男性:66岁以上(13.7*体重)+(5*身高*100) - (6.8*年龄)
女性:655+(9.6*体重)+(1.8*身高*100) - (4.7*年龄)
问题: 我使用了if else语句,如果用户点击了formpage上的"男性"单选按钮,应用程序将识别出用户是男性并使用男性BMR公式来计算他的BMR.男性BMR的计算没有问题,结果显示在calculateinput.html页面上
例如,如果体重= 100,身高= 2,年龄= 18,性别=男性,我将获得2313.6作为BMR,这是正确的.
但是,如果我点击formpage上的"女性"单选按钮,应用仍然使用男性BMR公式,而不是女性BMR公式来计算她的BMR.如果体重= 100,身高= 2,年龄= 18,性别=女性,我仍然会得到2313.6,这是不正确的.
看起来我的代码忽略了用户的性别输入并应用男性BMR公式而不管在表单页面无线电的性别,尽管我的if else声明......
有人可以识别并指出我犯了什么错误吗?您的解释表示赞赏!
以下是我在common.js的代码
function bmr(gender, height, weight, age){
var calculatedbmr;
if (gender="male"){
calculatedbmr=66+(13.7 * weight)+(5 * height * 100)-(6.8 * age);
}
else if(gender="female"){
calculatedbmr=655+(9.6 * weight)+(1.8 * height * 100)-(4.7 * age);
}
return calculatedbmr;
}Run Code Online (Sandbox Code Playgroud)
以下是我的显示结果页面上的代码.(名为calculateinput.html)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" …Run Code Online (Sandbox Code Playgroud)