首先在 INPUT 中输入变量后,如何通过单击 JavaScript 中的按钮来保持更新变量的值?

汤姆·德夫

我是一名新手 JS 程序员,正在迈出编程的第一步,所以我感谢您帮助我学习它。

我创建了一个函数,该函数将用户在 INPUT 中输入的值加 5。结果显示在 . 它完美地工作。单击按钮后,结果显示出来。但是,我想使用相同的按钮继续向输出值添加另外 5 个,而无需在 INPUT 中输入新值。

我试过: - 在函数外声明未定义的值(让 sum; )以使变量成为全局变量,但它不起作用。

我在想:

  • 将值存储在一个空数组中,但我不知道如何使用我的按钮访问它(我认为这不是正确的方法)
  • 从按钮中删除 eventListener 并创建另一个函数以通过单击继续添加 5(不更改输入值)。

let sum;
let sum2;

function adder5() {
  let userNumber = Number(document.querySelector("#yourNumber").value);
  sum = userNumber + 5;
  document.querySelector("#output").textContent = sum;
}

document.querySelector("#btn").addEventListener("click", adder5);

function adderContinue(sum) {
  document.querySelector("#btn").addEventListener("click", function () {
    sum2 = sum + 5;
  });
  document.querySelector("#output").textContent = sum2;
}
<input id="yourNumber" type="number" />
<button id="btn">Calculate</button>
<p id="output"></p>

我感谢您的帮助。任何提示都可以,因为我被卡住了。顺便说一句,我意识到变量 SUM 在第一次点击事件后变为 SUM2,但代码应该至少工作一次。

什里瓦丹

您可以使用输入字段的事件来更新缓存值并在单击按钮时更新它。

const input = document.getElementById('input'),
  button = document.getElementById('button'),
  output = document.getElementById('output');
let value = input.valueAsNumber;

input.oninput = function () {
  value = this.valueAsNumber;
};

button.onclick = function () {
  value += 5;
  output.textContent = isNaN(value) ? '' : value;
};
<input type="number" id="input" />
<button id="button">Calculate</button>
<p id="output"></p>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

首先在javascript中显示已加载的元素

如何首先在Wicket中呈现<meta>标签?

如何从首先在php中重新启动循环

首先在mysqli中显示较新的数据

首先在设备上的iOS 9中与NSURLConnection连接

首先在路由表中插入忽略的路由

替换所有捕获的组,但首先在 sed 中

首先在子级子级中添加儿童

首先在Entity Framework代码中链接子表

首先在EF代码中删除列

哪个文件首先在pytest中执行?

首先在nodejs winston logger中编写时间戳

如何在Windows 10中更改homepath变量以首先在cmd中查看目录

单击按钮以首先在ibm移动版中显示来自mysql的表

首先在模型存储库MVC 4代码中验证会话变量

如何首先在Entity Framework代码中为Identity主键设置起始值?

更新模型数据:首先在服务器中还是在客户端中?

在AngularJS中完成Factory方法后,首先在范围内运行代码

如何首先在 UI 中显示 JSON 对象中的最后一个属性

EF例外,如何首先在C#和实体框架代码中为地址建模

如何首先在实体框架代码中的 linq 中使用可为空列表?

如何首先在EF6代码中设置唯一属性

AWS Lambda:如何使用必须首先在linux中安装的工具?

如何控制首先在ggplot2中绘制哪个因子?

如何使用VBA附加所有工作表但首先在电子邮件中

如何首先在Node.js中执行所有控制台日志?

如何首先在asp.net核心中的代码中创建关系

如何首先在EF代码中建立模型与枚举之间的多对多关系?

如何首先在 Xamarin.Android 中以编程方式连接到特定的 SSID?