如何解决在文本框中键入正确答案后,如何在Vanilla JS中增加分数
我有一个问题,可以由用户在文本框中键入来回答。当答案正确时,我将如何使分数提高一倍?我的JS无法正常工作,因为分数保持为0 ...
<p id="score">Score:</p>
<h3>Question 1:</h3>
<p>Where does skateboarding originate from?</p>
<input type="text" id="A1">
function keepScore() {
if (document.getElementById("A1").value == "California") {
score = score++
}
}
keepScore()
document.getElementById("score").innerHTML = "Score:" + score
解决方法
let score = 0;
function keepScore() {
if (document.getElementById("A1").value === "California") {
score = score + 1
}
document.getElementById("A1").value = "";
document.getElementById("score").innerHTML = "Score:" + score
}
<p id="score">Score:0</p>
<h3>Question 1:</h3>
<p>Where does skateboarding originate from?</p>
<input type="text" id="A1" onchange="keepScore()">
,
这取决于您是否要在某个最终的“提交”时间(然后需要一个表单提交按钮),输入更改或键入时计算分数。
假设您希望获得最实时的结果(在键入时),则每次对以下答案输入之一进行更改时,都需要从头开始重新计算分数:
function keepScore() {
var score = 0
if (document.getElementById("A1").value == "California") {
score++
}
document.getElementById("score").innerText = "Score:" + score
}
keepScore()
<p id="score"></p>
<h3>Question 1:</h3>
<p>Where does skateboarding originate from?</p>
<input type="text" oninput="keepScore()" id="A1">
,
<p id="score">Score:</p>
<h3>Question 1:</h3>
<p>Where does skateboarding originate from?</p>
<input type="text" id="A1" onchange="keepScore()">
function keepScore() {
if (document.getElementById("A1").value == "California") {
score = score++
}
document.getElementById("score").innerHTML = "Score:" + score
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。