javascript - 如何使用 radio 输入的 if 函数来计算我的函数?

标签 javascript html

我想计算男性和女性的基础代谢率,我们有两个不同的公式,所以需要 radio 检查...在我想计算的公式中,但不知道如何识别 radio 检查框的功能。

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>

最佳答案

您的单选按钮必须具有相同的名称,这样它们才能协同工作。

然后您可以使用 var sex3= document.querySelector('input[name="sex"]:checked').value; 检索值,如下所示:

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")[0].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" class="sex3">زن
				 <input type="radio" name="sex" 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>

关于javascript - 如何使用 radio 输入的 if 函数来计算我的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55256635/

相关文章:

javascript - 使用 JavaScript/jQuery 在 HTML 表中显示数据

javascript - 悬停时的 Jquery 将类添加到另一个元素根本不起作用

javascript - React - 动态导入组件

javascript - Popover 没有锚定到触发元素

javascript - 如何在 NPM 包中使用 webpack 动态导入?

javascript - CSS 视差 - 图像 'splitting' 并且显示不正确

html - 如何将 css 规则分配给具有特定类的第一个元素?

html - 更改自定义模态的边距颜色

javascript - 软件故障注入(inject)的真正用途是什么?

javascript - 我如何从这个 jsFiddle 动态添加一个延迟到 promise 中?