Javascript 警报弹出消息不存在';我没有出现

Javascript 警报弹出消息不存在';我没有出现,javascript,Javascript,因此,根据此问卷中的输入,应通过单击提交按钮显示包含分数变量的弹出消息。由于某种原因,这种情况没有发生。问题到底出在哪里?在VisualStudio代码中没有显示错误,但当我在浏览器中完成问卷并按submit时,什么也没有发生 HTML <!doctype html> <html> <head> </head> <body> <h1>Endometrial Cancer Predictor </h1>

因此,根据此问卷中的输入,应通过单击提交按钮显示包含分数变量的弹出消息。由于某种原因,这种情况没有发生。问题到底出在哪里?在VisualStudio代码中没有显示错误,但当我在浏览器中完成问卷并按submit时,什么也没有发生

HTML

<!doctype html>

<html>

<head>

</head>

<body>

  <h1>Endometrial Cancer Predictor </h1>

  <h3>What is your BMI?</h3>

  <input id="bmi1" type="radio" name="grp1" value="0"> less than 25 </input> <br>

  <input id="bmi2" type="radio" name="grp1" value="1.85"> 25 to 29 </input> <br>

  <input id="bmi3" type="radio" name="grp1" value="4.675"> 30 to 39 </input> <br>

  <input id="bmi4" type="radio" name="grp1" value="6.175"> over 40 </input>


  <h3>Do you take contraception?</h3>

  <input id="contraNo" type="radio" name="grp2" value="0"> No <br>

  <input id="contraOral" type="radio" name="grp2" value="-0.8"> Oral Contraception <br>

  <input id="contraIud" type="radio" name="grp2" value="-1.2"> Intrauterine Device (IUD)


  <h3>Do you take HRT?</h3>

  <input id="hrtNo" type="radio" name="grp3" value="0"> No <br>

  <input id="hrtConti" type="radio" name="grp3" value="-0.675"> Continuous <br>

  <input id="hrtNon" type="radio" name="grp3" value="0.5"> Non Continuous


  <h3>Do you suffer from Type 2 Diabetes?</h3>

  <input id="diabYes" type="radio" name="grp4" value="1.375"> Yes <br>

  <input id="diabNo" type="radio" name="grp4" value="0"> No


  <h3>Do you suffer from PCOS?</h3>

  <input id="pcosYes" type="radio" name="grp5" value="3.75"> Yes <br>

  <input id="pcosNo" type="radio" name="grp5" value="0"> No


  <h3>What is your parity?</h3>

  <input id="nulliparity" type="radio" name="grp6" value="1.075"> 0 <br>

  <input id="parOver1" type="radio" name="grp6" value="-0.8"> +1

  <br>
  <br>

  <button id="btn1" onclick "fn1()">Submit </button>


  <script>
    src = "index.js"
  </script>

</body>

</html>

根据您的代码片段,我假设您需要运行
displayResult()
函数onclick
fn1()
没有执行任何警报或
DOM
操作,只是返回
score
的值。请查看下面随附的略为更新的演示

此外,如果希望在弹出窗口中显示结果,则需要使用
displaysult()中的
alert()
函数

函数fn1(){
var得分=2.5;
var bmi1=document.getElementById(“bmi1”);
var bmi2=document.getElementById(“bmi2”);
var bmi3=document.getElementById(“bmi3”);
var contraNo=document.getElementById(“contraNo”);
var contraOral=document.getElementById(“contraOral”);
var contraIud=document.getElementById(“contraIud”);
var hrtNo=document.getElementById(“hrtNo”);
var hrtConti=document.getElementById(“hrtConti”);
var hrtNon=document.getElementById(“hrtNon”);
var diabYes=document.getElementById(“diabYes”);
var diabNo=document.getElementById(“diabNo”);
var pcosYes=document.getElementById(“pcosYes”);
var pcosNo=document.getElementById(“pcosNo”);
var nulliparity=document.getElementById(“nulliparity”);
var parOver1=document.getElementById(“parOver1”);
如果(bmi1.checked==true)
得分=得分+bmi1.0分;
else if(bmi2.checked==true)
得分=得分+bmi2.0分;
else if(bmi3.checked==true)
得分=得分+bmi3.0分;
else if(bmi4.checked==true)
得分=得分+bmi4.0分;
如果(对照号选中==真)
分数=分数+对数值;
else if(对立面检查==真)
分数=分数+对位值;
else if(contraIud.checked==true)
分数=分数+对照值;
if(hrtNo.checked==true)
分数=分数+hrtNo.值;
else if(hrtConti.checked==true)
分数=分数+hrtConti.value;
else if(hrtNon.checked==true)
分数=分数+hrtNon.value;
如果(diabYes.checked==true)
分数=分数+diabYes.value;
else if(diabNo.checked==true)
分数=分数+数值;
如果(pcosYes.checked==true)
分数=分数+pcosYes.value;
else if(pcosNo.checked==true)
分数=分数+pcosNo.值;
if(未产妇。检查==真)
分数=分数+未产妇.value;
else if(parOver1.checked==true)
分数=分数+帕洛弗1.0分;
返回分数;
}
函数displayResult(){
var result=fn1();
document.getElementById('btn1')。innerHTML=result;
警报(结果);
返回false;
}
子宫内膜癌预测因子 你的体重指数是多少? 小于25
25至29岁
30至39岁
四十多岁 你采取避孕措施吗? 否
口服避孕药
宫内节育器 你接受HRT吗? 否
连续的
非连续 你患有2型糖尿病吗? 是
不 你患有多囊卵巢综合征吗? 是
不 你们的平价是多少? 0
+1


Submit
您的Submit click直接运行fn1,它只返回您的结果,您的意思是让它运行
displayResult
?此外,输入值是字符串,您应该在添加之前将值转换为数字,否则您将改为串联。您没有任何代码表明您正在尝试弹出警报,以便正确格式化问题
function fn1()
{
    var score=2.5;
    var bmi1 = document.getElementById("bmi1");
    var bmi2 = document.getElementById("bmi2");
    var bmi3 = document.getElementById("bmi3");

    var contraNo = document.getElementById("contraNo");
    var contraOral = document.getElementById("contraOral");
    var contraIud = document.getElementById("contraIud");

    var hrtNo = document.getElementById("hrtNo");
    var hrtConti = document.getElementById("hrtConti");
    var hrtNon = document.getElementById("hrtNon");

    var diabYes = document.getElementById("diabYes");
    var diabNo = document.getElementById("diabNo");

    var pcosYes = document.getElementById("pcosYes");
    var pcosNo = document.getElementById("pcosNo");

    var nulliparity = document.getElementById("nulliparity");
    var parOver1 = document.getElementById("parOver1");


    if(bmi1.checked==true) 
        score=score+bmi1.value;
    else if(bmi2.checked==true)
        score=score+bmi2.value;
    else if(bmi3.checked==true)
        score=score+bmi3.value;
    else if(bmi4.checked==true)
        score=score+bmi4.value;

    if(contraNo.checked==true) 
        score=score+contraNo.value;
    else if(contraOral.checked==true)
        score=score+contraOral.value;
    else if(contraIud.checked==true)
        score=score+contraIud.value;

    if(hrtNo.checked==true) 
        score=score+hrtNo.value;
    else if(hrtConti.checked==true)
        score=score+hrtConti.value;
    else if(hrtNon.checked==true)
        score=score+hrtNon.value;

    if(diabYes.checked==true) 
        score=score+diabYes.value;
    else if(diabNo.checked==true)
        score=score+diabNo.value;

    if(pcosYes.checked==true) 
        score=score+pcosYes.value;
    else if(pcosNo.checked==true)
        score=score+pcosNo.value;

    if(nulliparity.checked==true) 
        score=score+nulliparity.value;
    else if(parOver1.checked==true)
        score=score+parOver1.value;


       return score;

}
function displayResult() {
    var result = fn1();
    document.getElementById('btn1').innerHTML = result;
    return false;
}