javascript - 我如何在一个输入字段内计算
问题描述
所以我有一个表格,在这个表格中,我有一个字段,我想在其中进行简单的数学运算,例如,如果我输入 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)">
解决方案
您有 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">
推荐阅读
- r - 未能在 R 中使用 ggmap 和 Google Geocoding API 进行地理编码;在公司防火墙后面
- r - 在R中如何转义变量中的单个',然后将其发送到sqlQuery
- c# - 如何根据组合框wpf中的用户输入显示数据
- error-handling - 使用规划器运行问题文件时出现“未声明的要求”错误
- ruby-on-rails - 自动为用户设置密码 - 无需设计
- php - 将缺货库存状态添加到 Woocommerce 可变产品下拉列表
- ruby-on-rails - 收到证书后意外生成新的 openssl 密钥
- c - Linux内核:定义内部调用'jiffies'的函数
- react-redux - Redux 状态已更改,但组件 props 未更新
- javascript - 从 localStorage 接收数据