首页 > 解决方案 > 我如何在一个输入字段内计算

问题描述

所以我有一个表格,在这个表格中,我有一个字段,我想在其中进行简单的数学运算,例如,如果我输入 25+25,我的输入现在自动变为 50,它只有在我在操作符号后使用整数时才有效,所以25+25 将是 (275) 25+2 然后它将添加 5。知道如何解决这个问题吗?

<input type="text" name="input" size="16" id="answer" on keyup =" calc.input.value = eval(calc.input.value)">

标签: javascriptalgorithmformsinput

解决方案


您有 keyup 事件在释放键时激活,您可能需要在操作之前实现一些延迟。

作为替代方案,您可以在字段中输入表达式时按 Enter 键,方法是将 eventListener 添加到“Enter”键。

const problem = document.querySelector("#problem");

problem.addEventListener('keypress', (key) => {
  if(key.key === 'Enter') {
    problem.value = eval(problem.value);
  }
})
<input type="text" size="30" id="problem" placeholder="Type a math problem and press enter">


推荐阅读