在页面加载时生成随机数并存储在隐藏的表单字段中

时间:2017-07-23 08:31:00

标签: javascript

我需要在每个网页加载时生成一个随机数,并将该数字存储在隐藏的表单字段中(id =" field10")。以下是我的代码,但它错了。 非常感谢快速帮助。

<script type='text/javascript'>
  function test(final){
var min = 1;
var max = 9999999999;
var num = Math.floor(Math.random() * (max - min + 1)) + min;
var timeNow = new Date().getTime(); 
var final = num+'_'+timeNow;
document.getElementById('field10').value=test(final);
  }
window.onload = test;
</script>

2 个答案:

答案 0 :(得分:2)

很多问题。将提供更快的解决方案:

function test() {
  var min = 1;
  var max = 9999999999;
  var num = Math.floor(Math.random() * (max - min + 1)) + min;
  var timeNow = new Date().getTime();
  document.getElementById('field10').value = num + '_' + timeNow;
}
window.onload = test;

我刚删除了几行,这是不必要的。这将很好。一瞥我的所作所为:

  • 删除了所有参数。
  • 删除了final变量(有时可能会导致麻烦)。
  • 直接将value设置为元素。
  • 美化代码。

<强>段

function test() {
  var min = 1;
  var max = 9999999999;
  var num = Math.floor(Math.random() * (max - min + 1)) + min;
  var timeNow = new Date().getTime();
  document.getElementById('field10').value = num + '_' + timeNow;
}
window.onload = test;
setTimeout(function () {
  console.log(document.getElementById('field10').value);
}, 500);
<input type="hidden" id="field10" />

答案 1 :(得分:0)

作为最佳做法,请始终将您的脚本放在结束body标记之前。如果您遵循此操作,则不需要执行window.onload事项,因为那时DOM已经被加载。虽然在某些情况下可能需要window.onload

&#13;
&#13;
function randomNumber() {
    var min = 1;
    var max = 9999999999;
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

document.getElementById('field10').value = randomNumber() + new Date().getTime();
&#13;
<!-- add type="hidden", i omitted here so you can see the results -->
<input id="field10">
&#13;
&#13;
&#13;