我有一个关于输出显示的问题。我的代码在很大程度上是有效的,但只有在我删除输入之后才能工作。例如,当我输入"0“时,什么也没有发生,但在我删除输入中的0之后,它才会显示"100%”。我试图让它在输入中输入"0“时立即显示"100%”。澄清一下,我并不是想做一个计算器。我将把百分比之外的其他输出放入其中。
document.getElementById("myscore").onkeydown = function() {
myJsFunction()
};
function myJsFunction() {
var numberwrong = document.getElementById('myscore').value;
if (numberwrong == 0) {
score = "100%";
} else if (numberwrong == 1) {
score = "95%";
} else if (numberwrong == 2) {
score = "90%";
}
document.getElementById("totalscore").innerHTML = score;
}
<p2>Number Incorrect out of 50: </p2>
<input type="number" id="myscore">
<p id="totalscore"></p>
发布于 2018-06-30 09:06:47
使用onkeyup
而不是onkeydown
。在更改输入值之前,代码正在运行。
document.getElementById("myscore").onkeyup = function() {
myJsFunction()
};
function myJsFunction() {
var numberwrong = document.getElementById('myscore').value;
if (numberwrong == 0) {
score = "100%";
} else if (numberwrong == 1) {
score = "95%";
} else if (numberwrong == 2) {
score = "90%";
}
document.getElementById("totalscore").innerHTML = score;
}
<p2>Number Incorrect out of 50: </p2>
<input type="number" id="myscore">
<p id="totalscore"></p>
https://stackoverflow.com/questions/51110906
复制相似问题