javascript - 范围内的非重复数字并从表单提交到页面

标签 javascript dom-events

我可以得到一些帮助吗?

我需要从 1 - 80 范围内选择一个不重复的随机数,但不重复。 我的表单从用户那里获取范围,我希望在 java 脚本中定义它,并在按下提交按钮时,它会在文本区域中生成 1 - 80 范围内的非重复数字,就像这样的表单提交、清除和结果文本区域。

这是我的表单代码:

<form name="generate">
<table>
    <tr>
      <td colspan="2"><input TYPE="button" name="send_it" VALUE="ENTER" onClick="chooseRandom(this.form)">&nbsp; &nbsp; <input TYPE="reset" VALUE="CLEAR" onClick="clearForm(this.form)"><br />
      <br />
      </td>
    </tr>
    <tr>
      <td>Random Number:&nbsp;</td>
      <td><input TYPE="text" NAME="result" SIZE="5"></td>
    </tr>
  </table>
</form>

这是我的 JavaScript:

<script type="text/javascript">

function chooseRandom(form) {

var m = parseInt(form.lower.value);

var n = parseInt(form.upper.value) - m;

var output = Math.floor(Math.random() * n) + m;
        if (m < 0) {
            alert('Enter # greater than 0');
        }
        if (n > 79) {
            alert('Enter # less than 80');
        }

form.result.value = output;

}
// Clears the form

function clearForm(form) {

    form.upper.value="";

    form.lower.value="";

    form.upper.focus();

    form.upper.select();

}
</script>

如有任何帮助,我们将不胜感激。

最佳答案

希望这就是您想要的:)我是在这里回答问题的新手。

var rand = [];

for(var i = 1;i<=80;i++){
    rand.push(i);
}
function getRand(){
    var index = Math.floor(Math.random()*rand.length)
    return rand.splice(index,1)
}

关于javascript - 范围内的非重复数字并从表单提交到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16118084/

相关文章:

javascript - Bootstrap 多选 - 每组中不选择或最多选择一个

javascript - 使用数据集捕获 child 的所有事件

javascript - 如何修复 Javascript 函数的 'Typerror is undefined' 消息?

javascript - Firefox 5 中的 dispatchEvent

javascript - DOMAttrModified 不会触发

javascript - D3.js 在图表之间转换

javascript - 无法读取未定义的属性 'post' - Angular 2

javascript - Twitter Bootstrap 模态

javascript - 如何在用户释放范围 slider 时触发 "change"事件,即使值未更改

javascript - fetchRelated 不获取相关