【发布时间】:2021-11-14 17:26:38
【问题描述】:
背景 -
我是 JavaScript 世界的新手,正在开发一个小型应用程序来生成范围之间的随机数。用户输入两个输入,即范围的“minValue”和“maxValue”,并通过单击“Generate”按钮生成随机数。
问题 -
如何在没有任何框架的情况下使用 vanilla JavaScript 一次又一次地更新这两个数字字段的输入?
我想提醒用户如果他们在点击生成按钮之前反之亦然。表示是否有任何用户在 maxValue 输入中输入最小值,在 minValue 输入中输入最大值。一旦用户停止,我只想提醒它。我知道点击生成按钮后可以轻松完成,但只是为了学习目的,我想以这种方式执行操作。
现在我在程序开始时得到变量 MinValue 和 maxValue 的空白值,之后该值不会通过更改数字字段值来更新。
const numberGenerator = document.querySelector(".random-number");
const button = document.querySelector(".button1");
const minValue = document.querySelector("#min").value;
const maxValue = document.querySelector("#max").value;
// console.log(numberGenerator);
// console.log(button);
//console.log(minValue);
//console.log(maxValue);
let generateRandomNumber = (max, min) => {
randomNumber = Math.floor(Math.random() * (max - min)) + min
numberGenerator.innerHTML = randomNumber;
};
button.addEventListener("click", generateRandomNumber, minValue, maxValue);
<div class="outer-box">
<div class="generator-box">
<h1> Random Number Generator </h1>
<div class="inputs">
<label for="min">Min Value:</label>
<input type="number" id="min" name="min" placeholder="Enter min value"><br><br>
<label for="max">Max Value:</label>
<input type="number" id="max" name="max" placeholder="Enter max value"><br><br>
</div>
<span class=random-number>Click to generate</span>
<hr>
<div class="buttons">
<button class='button1'>Generate</button>
</div>
</div>
</div>
谢谢
【问题讨论】:
-
只需读取函数内的输入值。
-
@RobbyCornelissen 但是如果我想在点击“生成”按钮之前知道这两个输入的值怎么办?
-
只要在需要时检索值即可。您可以根据需要多次读取该值...
-
@RobbyCornelissen 我想提醒用户,如果他们在点击生成按钮之前将值反之亦然。表示是否有任何用户在 maxValue 输入中输入最小值,在 minValue 输入中输入最大值。一旦用户停止,我只想提醒它。我知道点击生成按钮后可以轻松完成,但只是为了学习目的,我想以这种方式执行操作。
-
您可以为这些输入字段订阅
change事件,当其中的值被修改(即字段失去焦点)时触发函数。input事件类似,但在用户仍在输入值时已经触发。
标签: javascript html html-input