If-else语句在javascript/html中不起作用
我是js的新手,任何帮助我都将不胜感激。我创建了一个javascript函数,从HTML表单中获取一些输入值,如下所示 但是,在运行代码之后,当我在单选按钮中选择female时,javascript if语句的else部分没有执行。对于男性,我得到了相同的值。我还创建了一个重置按钮,认为这可能会有所帮助,但仍然不起作用。请帮忙If-else语句在javascript/html中不起作用,javascript,html,dom,Javascript,Html,Dom,我是js的新手,任何帮助我都将不胜感激。我创建了一个javascript函数,从HTML表单中获取一些输入值,如下所示 但是,在运行代码之后,当我在单选按钮中选择female时,javascript if语句的else部分没有执行。对于男性,我得到了相同的值。我还创建了一个重置按钮,认为这可能会有所帮助,但仍然不起作用。请帮忙 <script type=text/javascript> function calcCreatine(){ va
<script type=text/javascript>
function calcCreatine(){
var sexInput = document.getElementsByName("sex")[0].value;
var ageInput = document.getElementsByName("patients-age")[0].value;
var weightInput = document.getElementsByName("patients-weight")[0].value;
var serumInput = document.getElementsByName("patients-serum")[0].value;
var result;
if (sexInput === "m") {
result = Math.round(((140 - ageInput) * weightInput * 1.23) / serumInput);
} else {
result = Math.round(((140 - ageInput) * weightInput * 1.04) / serumInput);
}
return alert(result + " mL/min - Creatinine clearance, original Cockcroft-Gault");
}
</script>
<form id="form-id">
<div id="creat-calc">
<div class="card">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Creatinine clearance calculator</h6>
</div>
<div class="card-body">
<p>Sex of patient:</p>
<div>
<label class="radio-inline">
<input type="radio" name="sex" value="m"> Male
</label>
<label class="radio-inline">
<input type="radio" name="sex" value="f"> Female
</label>
<p>Age of patient (years):</p>
<input type="number" min="1" max="120" name="patients-age" />
<br /><br />
<p>Weight of patient (kg):</p>
<input type="number" min="1" max="120" name="patients-weight" />
<br /><br />
<p>Serum creatinine (micromol/L):</p>
<input type="number" min="1" max="120" name="patients-serum" />
<br />
</div>
<br />
<hr />
<button type="button" class="btn btn-primary" onclick="calcCreatine();">Calculate</button>
<button type="button" class="btn btn-danger" onclick="popup.hideCeatCalcFormPopup();">Close</button>
<button type="button" class="btn btn-primary" onclick="myFunction()">Reset</button>
</div>
</div>
</div>
</form>
函数calcCreatine(){
var sexInput=document.getElementsByName(“sex”)[0]。值;
var ageInput=document.getElementsByName(“患者年龄”)[0]。值;
var weightInput=document.getElementsByName(“患者体重”)[0]。值;
var serumInput=document.getElementsByName(“患者血清”)[0]。值;
var结果;
如果(sexInput==“m”){
结果=数学四舍五入((140-年龄输入)*权重输入*1.23)/serumInput);
}否则{
结果=数学四舍五入((140-年龄输入)*权重输入*1.04)/serumInput);
}
返回警报(结果+“毫升/分钟-肌酐清除率,原Cockcroft-Gault”);
}
肌酐清除率计算器
病人性别:
男性
女性
患者年龄(年):
患者体重(kg):
血清肌酐(微摩尔/升):
算计
接近
重置
试试这个
函数calcCreatine(){
var sexInput=document.querySelector('input[name=“sex”]:checked')。值;
;
var ageInput=document.getElementsByName(“患者年龄”)[0]。值;
var weightInput=document.getElementsByName(“患者体重”)[0]。值;
var serumInput=document.getElementsByName(“患者血清”)[0]。值;
var结果;
console.log('sexInput',sexInput)
如果(sexInput=='m'){
结果=数学四舍五入((140-年龄输入)*权重输入*1.23)/serumInput);
}否则{
结果=数学四舍五入((140-年龄输入)*权重输入*1.04)/serumInput);
}
返回警报(结果+“毫升/分钟-肌酐清除率,原Cockcroft-Gault”);
}
肌酐清除率计算器
病人性别:
男性
女性
患者年龄(年):
患者体重(kg):
血清肌酐(微摩尔/升):
算计
接近
重置
这是因为您总是在读取第一个无线电输入的值,而这总是m
。你实际上需要做的是读取检查过的收音机的值。非常感谢。它现在工作得很好。