Создание вывода вывода из функции JavaScript и onkeydown - PullRequest
0 голосов
/ 30 июня 2018

У меня есть вопрос по поводу вывода вывода на экран. Мой код работает по большей части, но только после того, как я удалю ввод. Например, когда я набираю «0», ничего не происходит, но после того, как я удаляю 0 на входе, только тогда он будет отображать «100%». Я пытаюсь заставить его отображать "100%", как только я поставлю "0" на входе. Чтобы было ясно, я не пытаюсь сделать калькулятор. Я буду вставлять другие выходы, кроме процентов.

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>

1 Ответ

0 голосов
/ 30 июня 2018

Используйте 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>
...