如何让随机数生成到文本框而非直接显示在页面上?
解决随机数填充到文本框的问题
要实现点击按钮后把随机数填充到文本框,需要对现有代码做以下几处修改:
- 给输入框添加
id="numberbox",让JavaScript能准确定位到这个输入元素 - 修改按钮的点击事件逻辑,将生成的随机数赋值给输入框的
value属性,而非更新<p>标签的内容 - 移除脚本里无效的
randomIntFromInterval调用(该函数未定义,属于冗余代码)
修改后的完整代码如下:
<input type="text" name="numberbox" id="numberbox" value="" size="17" maxlength="10" required> <button type="button" onclick="document.getElementById('numberbox').value = getRndInteger(10000,99999)">Number Generator</button> <script> function getRndInteger(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } </script>
额外说明:原getRndInteger函数的计算逻辑存在小缺陷——Math.random() * (max - min)生成的是[0, max-min)区间的数,加上min后只能取到[min, max)范围的整数,无法覆盖max值。如果需要包含99999这个最大值,改成Math.random() * (max - min + 1)就能实现[min, max]的完整整数范围。
内容的提问来源于stack exchange,提问作者Gabriel McCrary
相关产品推荐
相关产品推荐

