【问题标题】:Generating a random number in JavaScript在 JavaScript 中生成随机数
【发布时间】:2016-01-26 05:16:33
【问题描述】:

我要做的就是让用户点击一个按钮来生成一个随机数。它似乎有效,但数字在消失之前只显示一秒钟。 这是我的代码。

<!DOCTYPE html>

<head>
</head>

<body>

<h3>
This is a random number generator!
</h3>

<form onsubmit= "randomNumber()">
<input type="submit" value="Click me!">
</form>

<script>
function randomNumber() {
    document.write(Math.floor(Math.random() * 10));
}
</script>

<p id="number">
</p>
</body>
</html>

【问题讨论】:

标签: javascript random numbers


【解决方案1】:

你需要

<form onsubmit="randomNumber(); return false;">

防止页面的新加载和

function randomNumber() {
    document.getElementById('number').innerHTML = Math.floor(Math.random() * 10);
}

设置值。

【讨论】:

  • innerText 在 Firefox 中不起作用,如果您想符合 w3c-DOM,请使用 innerHTMLtextContent(IE
  • @deamentiaemundi,我已经改变了。 :)
  • 不如让我成为这个社区尽职尽责的一员,给你一个大拇指,不要等待,错误的组,啊,这是一个 +1,对不起。
【解决方案2】:

Nina 的回答很好,但您并不需要为此填写表格。用这个代替你的表格怎么样?

<button onclick="randomNumber()">Click me!</button>

那么 randomNumber 函数就会按照 Nina 的建议运行:

function randomNumber() {
    document.getElementById('number').innerText = Math.floor(Math.random() * 10);
}

由于没有表单,因此无需阻止表单实际发送。

顺便说一句,这会将随机数放入 id 为“number”的 p 中,我猜这就是你想要的。但是,如果您想留下一个只包含数字的页面,请使用 document.write 而不是 document.getElementById...,就像在您的原始 sn-p 中一样。

【讨论】:

    猜你喜欢
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 2017-08-15
    • 2015-05-28
    相关资源
    最近更新 更多