Сбросить окно ввода после нажатия чего-либо, кроме номера - PullRequest
0 голосов
/ 26 ноября 2018

Итак, я строю калькулятор.Проблема, с которой я столкнулся, заключается в том, что когда я щелкаю знак вычисления И затем я ввожу больше чисел, знак вычисления добавляется в начало числа значений.

Как мне сбросить поле ввода, чтобы при нажатиичисло, знак вычисления исчезает и начинает новый список чисел - см. мой код ниже

if (!isNaN(e.target.textContent)) {
      inp.value += parseInt(e.target.textContent);
      val1 = inp.value;
      console.log(val1);
    } else if (
      isNaN(e.target.textContent) &&
      e.target.textContent !== "ENTER"
    ) {
      calculationSign = e.target.textContent;
      inp.value = e.target.textContent;
      console.log(calculationSign);
    } 

1 Ответ

0 голосов
/ 26 ноября 2018

Чтобы ответить на ваш вопрос, вы можете проверить, заполняется ли в данный момент поле ввода оператором:

if (!isNaN(e.target.textContent)) {
    if (['+', '-', '*', '/'].indexOf(inp.value) !== -1) {
        inp.value = ''
    }
    inp.value += parseInt(e.target.textContent);
    val1 = inp.value;
    console.log(val1);
}

В любом случае вам потребуется больше состояния и логики, чтобы определить, когда пользователь вводит второе значение,до запуска вычисления с помощью ENTER, но, возможно, оно находится где-то еще в вашем реальном коде.

...