首页 > 解决方案 > 如何使用 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>

标签: javascripthtml

解决方案


您可以使用: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>


推荐阅读