javascript - delta 的 Js 值始终等于 0
问题描述
大家好,我是 js 新手,我正在尝试制作一个简单的程序来计算 delta,但问题是我总是 delta 0 的值,但是当我将静态值设置为 delta 时,它会显示正确的值在哪里是问题,谢谢
var first = document.getElementById("Cofession1"),
second = document.getElementById("Cofession2"),
third = document.getElementById("Cofession3"),
displayMessage = document.getElementById("solution"),
a = first.value,
b = second.value,
c = third.value,
btnClick = document.getElementById("calculateButton");
btnClick.onclick = function () {
var delta = b*5;
displayMessage.innerHTML = "delta = " + delta;
}
这是html
<input type="text" name="" id="Cofession1" placeholder="The value of a">
<input type="text" name="" id="Cofession2" placeholder="The value of b">
<input type="text" name="" id="Cofession3" placeholder="The value of c">
<button id="calculateButton">Calculate</button>
<div id="solution"></div>
解决方案
a
、b
和的值c
不会自动更新:您需要在 onclick 方法中分配它们,以便它们反映单击按钮时的值。否则,它们将始终为空字符串,因为它们仅在运行时进行评估。
另外,我不建议直接分配给onclick
,而是使用更现代的addEventListener
。
var first = document.getElementById("Cofession1");
var second = document.getElementById("Cofession2");
var third = document.getElementById("Cofession3");
var displayMessage = document.getElementById("solution");
btnClick = document.getElementById("calculateButton");
btnClick.addEventListener('click', function() {
// Assign values in the event handler
var a = first.value;
var b = second.value;
var c = third.value;
var delta = b * 5;
displayMessage.innerHTML = "delta = " + delta;
});
<input type="text" name="" id="Cofession1" placeholder="The value of a">
<input type="text" name="" id="Cofession2" placeholder="The value of b">
<input type="text" name="" id="Cofession3" placeholder="The value of c">
<button id="calculateButton">Calculate</button>
<div id="solution"></div>
推荐阅读
- javascript - Jquery Datatable 按钮未显示在 React js 上
- matlab - 如何在 Matlab 中拟合多峰对数正态分布?
- c - 如何使用中断而不是偶尔发生,环形缓冲区实现问题
- jquery - 复选框的 if 语句中的两个#id
- c# - 如何从被引用但未在文件中使用的程序集中加载类型
- ms-word - ms词表末尾的隐藏线导致末尾有空格
- php - 如何让 woocommerce 将产品标题设置为产品图片的标题和 alt?
- php - 更新 wordpress 时出现致命错误
- reactjs - 如何在本机反应中创建标题“createtopmaterialnavigator”?
- c# - 如何发送包含 Unicode 字符的群发短信?