单击除数字之外的任何内容后,我的输入框会重置

问题描述 投票:1回答:1

所以我建立一个计算器。我遇到的问题是,当我点击计算符号然后我输入更多数字时,计算符号会附加到值的前面。

如何重置输入框以便一旦我点击一个数字,计算符号就会消失并开始一个新的数字列表 - 请参阅下面的一些代码

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);
    } 
javascript input reset
1个回答
1
投票

要回答您的问题,您可以测试输入框当前是否由操作员提供:

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触发计算之前,您需要更多的状态和逻辑来确定用户何时输入第二个值,但也许它在您的实际代码中的其他位置。

© www.soinside.com 2019 - 2024. All rights reserved.