Javascript随机数选择器不工作

Javascript随机数选择器不工作,javascript,Javascript,我正在尝试制作一个简单的javascript应用程序,在1和我在输入字段中指定的数字之间选择一个随机数,这样我就可以为圣诞节比赛选择一个随机获胜者 下面是到目前为止我得到的代码。我认为它不会太远,你能帮我吗,因为它不会更新输入字段以显示随机数: <script type="text/javascript" language="javascript"> function randomWinner() { var topNumber = topNumber.value;

我正在尝试制作一个简单的javascript应用程序,在1和我在输入字段中指定的数字之间选择一个随机数,这样我就可以为圣诞节比赛选择一个随机获胜者

下面是到目前为止我得到的代码。我认为它不会太远,你能帮我吗,因为它不会更新输入字段以显示随机数:

<script type="text/javascript" language="javascript">
  function randomWinner() {
    var topNumber = topNumber.value;    
    var randomnumber=Math.floor(Math.random() + topNumber);
    winningNumber.value=randomnumber;
    return true;
  }
</script>

<form name="selectWinner">
Pick random number between 1 and <input name="topNumber" value="100"><br /><br />
The winning number: <input name="winningNumber" readonly="true"><br /><br />
<input type="button" value="Pick Winner" OnClick="randomWinner();">
</form>
您需要将topNumber与0到1之间的随机数相乘:

var randomnumber=Math.floor(Math.random() * topNumber);
要获得特定范围的随机整数:

function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
您需要将topNumber与0到1之间的随机数相乘:

var randomnumber=Math.floor(Math.random() * topNumber);
要获得特定范围的随机整数:

function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
您必须乘以topNumber,但必须增加topNumber+1,以包括范围,因此topNumber=101将导致最大随机数为100

您必须乘以topNumber,但必须增加topNumber+1,以包括范围,因此topNumber=101将导致最大随机数为100

Math.random生成一个介于0和1之间的数字。以下是您需要的:

var randomnumber=Math.floor(Math.random()*topNumber)+1;
Math.random将生成范围为[0..1]的值。[0..1]乘以topNumber将产生[0..topNumber]范围。但是,Math.floor将其限制为[0..topNumber-1]。现在我们添加1并得到[1..topNumber]。

Math.random生成一个介于0和1之间的数字。以下是您需要的:

var randomnumber=Math.floor(Math.random()*topNumber)+1;

Math.random将生成范围为[0..1]的值。[0..1]乘以topNumber将产生[0..topNumber]范围。但是,Math.floor将其限制为[0..topNumber-1]。现在我们添加1并得到[1..topNumber]。

您正在向随机数添加一个字符串值,例如0.98764912837465+100,该值为字符串0.98764912837465100。floor函数设法将其转换回字符串,但它仍然不足以变成零以外的任何值

你需要乘。这将为您提供一个介于0到topnumber-1之间的数字,因此您必须添加一个以使其位于1到topnumber之间:

var randomnumber=Math.floor(Math.random() * topNumber) + 1;

您正在向随机数添加一个字符串值,例如0.98764912837465+100,该值为字符串0.98764912837465100。floor函数设法将其转换回字符串,但它仍然不足以变成零以外的任何值

你需要乘。这将为您提供一个介于0到topnumber-1之间的数字,因此您必须添加一个以使其位于1到topnumber之间:

var randomnumber=Math.floor(Math.random() * topNumber) + 1;
这将给你一个0到n之间的随机no


这将给你一个0到n之间的随机no…

你不能仅仅使用输入字段的名称来访问它。尝试添加ID并使用getElementById:

此外,我还使用了parseInt来确保我们使用的是正确的数字


工作示例:

您不能仅使用输入字段的名称来访问该字段。尝试添加ID并使用getElementById:

此外,我还使用了parseInt来确保我们使用的是正确的数字


工作示例:

我不明白为什么输入字段没有更新。我也明白随机数行也不正确。我不明白为什么输入字段没有更新。我也很感激随机数行也不正确。