javascript - 如何使用 if 函数进行无线电输入来计算我的函数?
问题描述
我想计算男性和女性的基础代谢率,我们有两个不同的公式,所以需要无线电检查......在公式中我想计算但不知道如何识别无线电复选框来起作用。
function bmr(){
var w3= document.getElementsByName("weight3")[0].value;
var h3= document.getElementsByName("height3")[0].value;
var y3= document.getElementsByName("age3")[0].value;
var sex3= document.getElementsByClassName("sex").checked.value;
var activity = document.getElementsByName("activity").value;
if (sex3==="zan"){
var result3= 655 + (9.6 * w3)+(1.8*h3)-(4.7*y3);
document.getElementById("bmr").innerHTML=" متابولیسم پایه شما = " + Math.round(result3);
alert (result3);}
else {
document.getElementById("bmr").innerHTML=" شما مرد هستید ";
}
}
<div class="sectionmenu">
<form action="#" target="_self" method="get">
<fieldset>
<legend>برآورد کالری مورد نیاز روزانه</legend>
وزن (kg)<br>
<input type="number" name="weight3" placeholder="weight"><br>
قد (cm)<br>
<input type="number" name="height3" placeholder="height"><br>
سن (years)<br>
<input type="number" name="age3" placeholder="age"><br>
جنسیت<br>
<input type="radio" name="female" value="zan" class="sex3">زن
<input type="radio" name="male" value="mard" class="sex3">مرد<br
میزان فعالیت<br>
<select name="activity">
<option value="little"> سبک</option>
<option value="almost little"> تقریبا سبک</option>
<option value="averge"> متوسط</option>
<option value="hard"> سنگین</option>
<option value="veryhard"> بسیار سنگین</option>
</select><br><br>
<input type="button" value="محاسبه" onClick="bmr()" class="button"><br>
<p id="bmr"> </p>
</fieldset>
</form>
</div>
解决方案
您可以使用:document.querySelector('input[name="sex"]:checked').value;
并更改input
:
<input type="radio" name="sex" value="zan">زن
<input type="radio" name="sex" value="mard">مرد<br> <!-- << missing > -->
میزان فعالیت<br>
相关:如何获取选定单选按钮的值?,如何只允许选中一个单选按钮?
function bmr(){
var w3= document.getElementsByName("weight3")[0].value;
var h3= document.getElementsByName("height3")[0].value;
var y3= document.getElementsByName("age3")[0].value;
var sex3= document.querySelector('input[name="sex"]:checked').value;
var activity = document.getElementsByName("activity").value;
if (sex3==="zan"){
var result3= 655 + (9.6 * w3)+(1.8*h3)-(4.7*y3);
document.getElementById("bmr").innerHTML=" متابولیسم پایه شما = " + Math.round(result3);
alert (result3);}
else {
document.getElementById("bmr").innerHTML=" شما مرد هستید ";
}
}
<div class="sectionmenu">
<form action="#" target="_self" method="get">
<fieldset>
<legend>برآورد کالری مورد نیاز روزانه</legend>
وزن (kg)<br>
<input type="number" name="weight3" placeholder="weight"><br>
قد (cm)<br>
<input type="number" name="height3" placeholder="height"><br>
سن (years)<br>
<input type="number" name="age3" placeholder="age"><br>
جنسیت<br>
<input type="radio" name="sex" value="zan">زن
<input type="radio" name="sex" value="mard">مرد<br> <!-- << missing > -->
میزان فعالیت<br>
<select name="activity">
<option value="little"> سبک</option>
<option value="almost little"> تقریبا سبک</option>
<option value="averge"> متوسط</option>
<option value="hard"> سنگین</option>
<option value="veryhard"> بسیار سنگین</option>
</select><br><br>
<input type="button" value="محاسبه" onClick="bmr()" class="button"><br>
<p id="bmr"> </p>
</fieldset>
</form>
</div>
更新:
正如 OP 所要求的,要制作 BMR:
function bmr() {
var w3 = document.getElementsByName("weight3")[0].value;
var h3 = document.getElementsByName("height3")[0].value;
var y3 = document.getElementsByName("age3")[0].value;
var sex3 = document.querySelector('input[name="sex"]:checked').value;
var activity = document.getElementsByName("activity").value;
var result3;
if (sex3 === "zan") {
result3 = 66.5 + (13.75 * w3) + (5.003 * h3) - (6.755 * y3);
document.getElementById("bmr").innerHTML = " متابولیسم پایه شما = " + Math.round(result3);
} else {
result3 = 655.1 + (9.563 * w3) + (1.850 * h3) - (4.676 * y3);
document.getElementById("bmr").innerHTML = " شما مرد هستید " + Math.round(result3);;
}
}
<div class="sectionmenu">
<form action="#" target="_self" method="get">
<fieldset>
<legend>برآورد کالری مورد نیاز روزانه</legend>
وزن (kg)<br>
<input type="number" name="weight3" placeholder="weight"><br> قد (cm)<br>
<input type="number" name="height3" placeholder="height"><br> سن (years)<br>
<input type="number" name="age3" placeholder="age"><br> جنسیت
<br>
<input type="radio" name="sex" value="zan">زن
<input type="radio" name="sex" value="mard">مرد<br>
<!-- << missing > -->
میزان فعالیت<br>
<select name="activity">
<option value="little"> سبک</option>
<option value="almost little"> تقریبا سبک</option>
<option value="averge"> متوسط</option>
<option value="hard"> سنگین</option>
<option value="veryhard"> بسیار سنگین</option>
</select><br><br>
<input type="button" value="محاسبه" onClick="bmr()" class="button"><br>
<p id="bmr"> </p>
</fieldset>
</form>
</div>
推荐阅读
- sql - 是否可以以这种格式显示 2 个 SQL 语句的结果?
- jestjs - 如何配置 Jest 以使用 ES5
- windows - Windows C API:wincrypt 和 sspi 有什么区别?
- gdb - 使用 GDB 调试 xinetd 服务
- php - 使用“upload_dir”选项时,Symfony 4“Easy admin”上传目录不会改变
- android - 在splashScreen react-native android中更改状态栏的颜色
- laravel - 使用 Eloquent join 会导致不正确的 id 结果
- c# - 如何知道在 ASP.net 核心中使用了哪些函数以及我可以使用哪些函数(逆向工程)
- entity-framework-core - 在 QueryFilter 中使用客户端函数
- reactjs - 在 ReactJS 中将父级的通用对象字段与子级绑定