Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript BMR计算器:用BMR计算器中的瘦体重替换体重_Javascript - Fatal编程技术网

Javascript BMR计算器:用BMR计算器中的瘦体重替换体重

Javascript BMR计算器:用BMR计算器中的瘦体重替换体重,javascript,Javascript,我用美国海军公式修改了一个体脂计算器。 计算器提供 1.BMR 2.最低热量要求 3.体脂 计算器运行良好,但我希望基础代谢率利用瘦体重而不是体重(在表格中提供) 在BMR计算之前,我添加了:wt1=wt-(wt/100*fatPercent) 控制台没有显示错误,但在执行脚本时没有得到任何结果。我不知道如何纠正这个问题 提前谢谢 Javascript代码 <script type="text/javascript"> <!-- function Calculate()

我用美国海军公式修改了一个体脂计算器。 计算器提供 1.BMR 2.最低热量要求 3.体脂

计算器运行良好,但我希望基础代谢率利用瘦体重而不是体重(在表格中提供)

在BMR计算之前,我添加了:wt1=wt-(wt/100*fatPercent)

控制台没有显示错误,但在执行脚本时没有得到任何结果。我不知道如何纠正这个问题

提前谢谢

Javascript代码

    <script type="text/javascript">
<!--
function Calculate()
{
        var ht = parseFloat(document.cal_frm.txtHeight.value);
        var nk = parseFloat(document.cal_frm.txtNeck.value);
        var wa = parseFloat(document.cal_frm.txtWaist.value);
        var hp = parseFloat(document.cal_frm.txtHip.value);
        var wt = parseFloat(document.cal_frm.txtWeight.value);
        var ag = parseInt(document.cal_frm.txtAge.value);
        var sexf=false;
        if (document.cal_frm.opGender.value == "1"){sexf=true;}
        if (document.cal_frm.opHeight.value == "1") {ht = ht * 2.54;}
        if (document.cal_frm.opNeck.value == "1") {nk = nk * 2.54;}
        if (document.cal_frm.opWaist.value == "1") {wa = wa * 2.54;}
        if (document.cal_frm.opHip.value == "1") {hp = hp * 2.54;}
        if (document.cal_frm.opWeight.value == "1") {wt = wt * 0.4536;}
        document.getElementById('feedback').innerHTML='';
        var errors='';
        if ((ht < 122) || (ht > 230) || isNaN(ht)){
        err=((document.cal_frm.opHeight.value == "1")? '48inches to 90inches' : '122cm to 230cm');
errors+='Enter height between '+err+'!n';}
        if ((nk < 10) || (nk > 100) || isNaN(nk)){
        err=((document.cal_frm.opNeck.value == "1")? '6inches to 20inches' : '15cm to 50cm');
errors+='Enter neck between '+err+'!n';}
        if ((wa < 20) || (wa > 200) || isNaN(wa)){
        err=((document.cal_frm.opWaist.value == "1")? '20inches to 80inches' : '50cm to 150cm');
errors+='Enter waist between '+err+'!n';}
        if ((wt < 30) || (wt > 150) || isNaN(wt)){
        err=((document.cal_frm.opWeight.value == "1")? '67lb to 333lb' : '30Kg to 150Kg');
errors+='Enter weight between '+err+'!n';}
        if ((ag < 19) || (ag > 70) || isNaN(ag)){
        err='19yrs to 70yrs';
errors+='Enter age between '+err+'!n';}
        if (sexf==true){
            if ((hp < 50) || (hp > 200) || isNaN(hp)){
            err=((document.cal_frm.opHip.value == "1")? '20inches to 100inches' : '50cm to 250cm');
errors+='Enter hip between '+err+'!n';}}
        if(errors){
            alert('The following error(s) occurred:n'+errors);
            return;}
        var BMR;
        var fatpercent;
        if (sexf==true) {
            fatPercent = 495 / (1.29579 - 0.35004 * (logten(wa + hp - nk)) + 0.221 * (logten(ht))) - 450;   
            wt1 = wt-(wt/100*fatPercent) /*added below code to substitute weight with lean body mass in the below calculation*/
            BMR = 655 + (9.6 * wt1) + (1.8 * ht) - (4.7 * ag);
        }
        else{
            fatPercent = 495 / (1.0324 - 0.19077 * (logten(wa - nk)) + 0.15456 * (logten(ht))) - 450;
            wt1 = wt-(wt/100*fatPercent)/*added below code to substitute weight with lean body mass in the below calculation*/
            BMR = 66 + (13.7 * wt1) + (5 * ht) - (6.8 * ag);
        }
        BMR=Math.round(BMR*10)/10;
        fatPercent = (Math.round(fatPercent*10))/10;
        var dailyCal;
        if (document.cal_frm.opActivity.value == "0") {dailyCal = BMR * 1.2;}
        if (document.cal_frm.opActivity.value == "1") {dailyCal = BMR * 1.375;}
        if (document.cal_frm.opActivity.value == "2") {dailyCal = BMR * 1.55;}
        if (document.cal_frm.opActivity.value == "3") {dailyCal = BMR * 1.725;}
        if (document.cal_frm.opActivity.value == "4") {dailyCal = BMR * 1.9;}

if (document.cal_frm.opWeight.value == "1") { 

        document.getElementById('feedback').innerHTML = "<p>Your BMR is: " + BMR + "<br />" + "Minimum Calorie 

requirement is: " + (Math.round(dailyCal)) + ";<br />" + "Your Body Fat is " + fatPercent + "%." + ";<br /></p>";
}
function logten(v){
    return (Math.log(v)/Math.log(10));
}
function resetAll(){
document.getElementById('feedback').innerHTML ='';
}
}
-->
</script>

HTML代码

<form name="cal_frm" id="cal_frm" style="width:400px; margin:20px 10px 20px 10px;" onsubmit="return false">
<table style="width:400px; margin:0px 10px 20px 10px;">
<tr><td style="width: 275px;">
<table id="cal_data">
<tr>
<td style="padding-left:5px;">Height:</td>
<td><input class="cal_text" type="text" name="txtHeight" size="20" ></td>
<td><select class="cal_option" name="opHeight">
<option value="0">Cm</option>
<option value="1">Inch</option>
</select></td>
</tr>
<tr>
<td style="padding-left:5px;">Neck:</td>
<td><input class="cal_text" type="text" name="txtNeck" size="20" ></td>
<td><select class="cal_option" name="opNeck">
<option value="0">Cm</option>
<option value="1">Inch</option>
</select></td>
</tr>
<tr>
<td style="padding-left:5px;">Waist:</td>
<td><input class="cal_text" type="text" name="txtWaist" size="20" ></td>
<td><select class="cal_option" name="opWaist">
<option value="0">Cm</option>
<option value="1">Inch</option>
</select></td>
</tr>
<tr>
<td style="padding-left:5px;">Hip (Female):</td>
<td><input class="cal_text" type="text" name="txtHip" size="20" ></td>
<td><select class="cal_option" name="opHip">
<option value="0">Cm</option>
<option value="1">Inch</option>
</select></td>
</tr>
<tr>
<td style="padding-left:5px;">Weight:</td>
<td><input class="cal_text" type="text" name="txtWeight" size="20" ></td>
<td><select class="cal_option" name="opWeight">
<option value="0">Kg</option>
<option value="1">Pound</option>
</select></td>
</tr>
</table>
</td>
<td style="padding: 10px 0 0 10px;">
Gender:<br >
<select class="cal_option" style="width:72%;border: solid 1px silver;" name="opGender">
<option value="0">Male</option>
<option value="1">Female</option>
</select><br ><br >
Age:<br >
<input class="cal_text" style="width:60%;border: solid 1px silver;" type="text" name="txtAge" size="20" > yrs.
</td>
</tr>
<tr>
<td colspan="2" style="padding:10px 0 10px 0;"><span style="padding:0 2px;">Activity:</span>
<select id="Select7" class="cal_option" style="width:80%; border:1px solid silver;" name="opActivity">
<option selected="selected" value="0">Sedentary (Very little or no exercise)</option>
<option value="1">Lightly active (light exercise/sports 1-3 days/week)</option>
<option value="2">Moderately active (moderate exercise/sports 3-5 days/week)</option>
<option value="3">Very active (hard exercise/sports 6-7 days a week)</option>
<option value="4">Extra active (very hard exercise/sports & physical job or 2x training)</option>
</select>
</td>
</tr>
<tr>
<td id="feedback" colspan="2" style="padding:0 0 5px 0; font-family:arial; font-size:11px; color:#333333;" ><a 

style="font-size:1px;color:#ffffff;line-height:1%;" href="http://ramui.com">http://ramui.com</a></td>
</tr>
<tr>
<td colspan="2">
<input onclick="Calculate()" class="cal_button" type="button" value="Calculate" >&nbsp;<input type="reset" 

class="cal_button" value="Reset" onclick="resetAll()" ></td>
</tr></table>
</form>

高度:
厘米
英寸
颈部:
厘米
英寸
腰围:
厘米
英寸
臀部(女性):
厘米
英寸
重量:
公斤
英镑
性别:
男性 女性

年龄:
年。 活动: 久坐(很少或不运动) 轻度活动(每周1-3天的轻度运动/运动) 适度运动(适度运动/每周3-5天) 非常活跃(每周6-7天剧烈运动/运动) 额外活动(剧烈运动/运动和体力工作或2倍训练)
仅当重量以磅为单位指定时才输出结果。

谢谢,我没有意识到这一点。但是我还是不明白这个问题。为什么其他人不工作?如果选择kg,则wt的值保持不变。如果选择pound,则将wt转换为kgs。那么,可以做些什么来更正脚本的其余部分呢?如果(document.cal_frm.opWeight.value==“1”){/*这是代码,它会输出*/}谢谢您的帮助。为了向大家澄清,我添加了第二个条件语句,其中选项值为0表示千克--------if(document.cal_frm.opWeight.value==“0”){document.getElementById('feedback')。innerHTML=“你的BMR是:“+BMR+”
“+”最低热量要求是:“+(Math.round(dailyCal))+”;
”你的身体脂肪是“+fatPercent+”%。“+”;

”;}------