通过提交获得分数

Getting a score with submit

我正在制作一个网站页面,它是一种调查。我有一个部分大部分都在工作,但我无法完成下半部分。我使用了与第一部分相同的代码并进行了扩展。我无法让它工作。我不明白为什么当我点击提交时它不会写分数。当我按下提交时,它应该覆盖 "this is the answer" 并且应该根据问题的值计算点数,例如,如果他们为每个问题按下第一个单选按钮,它应该打印 2.

这是基础 JavaScript 我用它以备不时之需。

 function answer(total) {
 var score = 0;
if (document.getElementById('exp_no').checked) {
score++;
}
if (document.getElementById('chg_no').checked) {
score++;
}
if (document.getElementById('sus_no').checked) {
score++;
}
document.getElementById('totalScore').innerHTML = score;

}

这是我正在使用的 JavaScript。

function answer2(total) {
var score2 = 0;
if (document.getElementById('arr_1').checked) {
score2++;
}
else if (document.getElementById('arr_2').checked) {
score2 + 2;
}
else if (document.getElementById('arr_3').checked) {
score2 + 3;
}
else if (document.getElementById('arr_4').checked) {
score2 + 4;
}
else (document.getElementById('arr_5').checked) {
score2 + 5;
}

if (document.getElementById('been1').checked) {
score2++;
}
else if (document.getElementById('been2').checked) {
score2 + 2;
}
else if (document.getElementById('been3').checked) {
score2 + 3;
}
else if (document.getElementById('been4').checked) {
score2 + 4;
}
else if (document.getElementById('been5').checked) {
score2 + 5;
}
if (score2 == 2) {
document.getElementById('finalScore').innerHTML = score2;
} else if (score2 == 4){
document.getElementById('finalScore').innerHTML = score2;
} else if (score2 == 4){
document.getElementById('finalScore').innerHTML = score2;
} else if (score2 == 6){
document.getElementById('finalScore').innerHTML = score2;
} else if (score2 == 8){
document.getElementById('finalScore').innerHTML = score2;
} else if (score2 == 10){
document.getElementById('finalScore').innerHTML = score2;
}
}

这是我的HTML

<button onclick = "toggletab()" id="tabButton"><h3>first results</h3>
</button>
       <form>
         <div id="first"  >
         <fieldset>
                <label>
                <legend>Is your arrest record a:</legend>
                    <input id="arr_1" type="radio" name="field4" value="1" 
onclick="getscores4(this)"/>
                    IC 35-38-9-1
                </label>
                <label>
                    <input id="arr_2" type="radio" name="field4" value="2" 
onclick="getscores4(this)"/>
                    IC 35-38-9-2
                </label>
                 <label>
                    <input id="arr_3" type="radio" name="field4" value="3" 
onclick="getscores4(this)"/>
                     IC 35-38-9-3
                </label>
                 <label>
                    <input id="arr_4" type="radio" name="field4" value="4" 
onclick="getscores4(this)"/>
                     IC 35-38-9-4
                </label>
                 <label>
                    <input id="arr_5" type="radio" name="field4" value="5" 
 onclick="getscores4(this)"/>
                     IC 35-38-9-5
                </label>
            </fieldset>


          <fieldset>
          <label>
                <legend>Has it been:</legend>
                    <input id="been1" type="radio" name="field5" value="1" 
 onclick="getscores5(this)"/>
                1 Year From Date of Arrestor earlier if the Prosecutor 
 agrees
                </label>
                 <label>
                    <input id="been2" type="radio" name="field5" value="2" 
onclick="getscores5(this)"/>
                     5 Years From Date of Arrestor earlier if the Prosecutor 
agrees
                </label>
                 <label>
                    <input id="been3" type="radio" name="field5" value="3" 
onclick="getscores5(this)"/>
                     8 YearsFrom Date of Arrestor earlier if the Prosecutor 
agrees
                </label>
                 <label>
                    <input id="been4" type="radio" name="field5" value="4" 
 onclick="getscores5(this)"/>
                     8/3 Years The Later of 8 Years from Date of Conviction 
or 3 years from completion of the sentence or earlier if the Prosecutor 
agrees
                </label>
                 <label>
                    <input id="been5" type="radio" name="field5" value="5" 
onclick="getscores5(this)"/>
                     10/5 Years The Later of 10 Years from Date of 
Conviction or 5 years from completion of the  sentence or earlier if the 
Prosecutor agrees
                </label>
            </fieldset>
        </div>
        <fieldset id="submitbutton" class="article">
<input type="button" id="submit" value="submit" onclick='answer2()' />
<p id="finalScore">this is answer </p>
</fieldset>
        </form>
        </div>
        </div>

        <script src="backtest.js"></script>
        <script src="backtest2.js"></script>
        <script src="toggle.js"></script>

在函数 answer2(total) 中,您声明了名称为 'score2' 的变量,但在您的所有逻辑中,您都在使用名称为 'score' 的变量。将 score 更改为 score2 然后它将起作用。而且我还认为 answer2() 函数中不需要参数 'total' 因为你没有在任何地方使用它。