我需要在每个网页加载时生成一个随机数,并将该数字存储在隐藏的表单字段中(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>
答案 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
。
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;