问题描述
我在html和javascript HTML中有此代码
function getResult() { let answer_one = document.getElementById("question_one").value; let correct_ans = 0; let result = "You answered " + correct_ans + " correctly."; if (answer_one === "abuja") { correct_ans++; } document.getElementById("result").innerHTML = result; }
<div class="container"> <div class="question1"> <p>What is the capital of Nigeria</p><br> <input type="text" id="question_one"> </div> <button id="button" onclick="getResult();">Submit</button> </div> <!--end of container--> <div class="button_after"> <h1 id="result"></h1> </div> <!--end of button_after-->
我的问题是,当我在文本框中输入正确的答案时,correct_ans变量没有添加
1楼
Ele
1
已采纳
2019-03-02 19:58:19
检查正确答案后,应初始化变量result
。
function getResult() { let correct_ans = 0; let answer_one = document.getElementById("question_one").value; if (answer_one === "abuja") correct_ans++; let result = "You answered " + correct_ans + " correctly."; document.getElementById("result").innerHTML = result; }
<div class="container"> <div class="question1"> <p>What is the capital of Nigeria</p><br> <input type="text" id="question_one"> </div> <button id="button" onclick="getResult();">Submit</button> </div> <!--end of container--> <div class="button_after"> <h1 id="result"></h1> </div> <!--end of button_after-->
2楼
Dmitry S.
0
2019-03-02 20:00:46
在更新变量abuja
之前,先声明了变量correct_ans
。
将其放在if
条件之后。
如果您要添加其他问题,则需要在函数中添加正确的声明correct_ans = 0
,否则您总是会得到0或1。
function getResult() { let answer_one = document.getElementById("question_one").value; let correct_ans = 0; if (answer_one === "abuja") { correct_ans++; } let result = "You answered " + correct_ans + " correctly."; document.getElementById("result").innerHTML = result; }
<div class="container"> <div class="question1"> <p>What is the capital of Nigeria</p><br> <input type="text" id="question_one"> </div> <button id="button" onclick="getResult();">Submit</button> </div> <!--end of container--> <div class="button_after"> <h1 id="result"></h1> </div> <!--end of button_after-->
3楼
Sibashrit Pattnaik
0
2019-03-02 20:02:20
在您的代码中,对结果的求值是在correct_ans增量之前。 试试这个吧。
function getResult() {
let answer_one = document.getElementById("question_one").value;
let correct_ans = 0;
let result = "";
if (answer_one === "abuja") {
correct_ans++;
}
result = You answered " + correct_ans + " correctly.
document.getElementById("result").innerHTML = result;
}