Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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
If-else语句在javascript/html中不起作用_Javascript_Html_Dom - Fatal编程技术网

If-else语句在javascript/html中不起作用

If-else语句在javascript/html中不起作用,javascript,html,dom,Javascript,Html,Dom,我是js的新手,任何帮助我都将不胜感激。我创建了一个javascript函数,从HTML表单中获取一些输入值,如下所示 但是,在运行代码之后,当我在单选按钮中选择female时,javascript if语句的else部分没有执行。对于男性,我得到了相同的值。我还创建了一个重置按钮,认为这可能会有所帮助,但仍然不起作用。请帮忙 <script type=text/javascript> function calcCreatine(){ va

我是js的新手,任何帮助我都将不胜感激。我创建了一个javascript函数,从HTML表单中获取一些输入值,如下所示

但是,在运行代码之后,当我在单选按钮中选择female时,javascript if语句的else部分没有执行。对于男性,我得到了相同的值。我还创建了一个重置按钮,认为这可能会有所帮助,但仍然不起作用。请帮忙

  <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
。你实际上需要做的是读取检查过的收音机的值。非常感谢。它现在工作得很好。