我的脚本,存储为单独的js文件:
function randomNumber(len) {
var randomNumber;
var n = '';
for(var count = 0; count < len; count++) {
randomNumber = Math.floor(Math.random() * 10);
n += randomNumber.toString();
}
return n;
}
var finalSequence = randomNumber(9);
document.write('<INPUT TYPE=TEXT NAME="ACCOUNT" VALUE='+finalSequence +' MAXLENGTH=16 SIZE=16>');
我在我的html文件中包含了这个td
标记:
<td align=left><FONT FACE="Arial,Helvetica"><script src="nexgen.js"></script>
您是否建议我在html文件中编写脚本?
我想使用input
标记显示生成的随机数,如下所示。我该怎么做?
<INPUT TYPE=TEXT NAME="ACCOUNT" VALUE= ??? MAXLENGTH=16 SIZE=16>
更新
我将JavaScript和html组合在一个html文件中,如下所示。请查看您是否可以发现任何错误,因为生成的数字未显示在html页面上。
Javascript部分:
function randomNumber(len) {
var randomNumber;
var n = '';
for(var count = 0; count < len; count++) {
randomNumber = Math.floor(Math.random() * 10);
n += randomNumber.toString();
}
document.getElementById("ACCOUNT").value = n;
return n;
}
HTML部分:
<tr>
<td><FONT FACE="Arial,Helvetica" color="red"> Transaction ID: </font></td>
<td align=left>
<FONT FACE="Arial,Helvetica">
<script> randomNumber(9); </script>
<INPUT TYPE=TEXT NAME="ACCOUNT" ID="ACCOUNT" VALUE="" MAXLENGTH=16 SIZE=16 readonly>
</font>
</td>
</tr>
答案 0 :(得分:4)
为您的input元素分配ID,然后在JavaScript中,将生成的值分配给该元素。
Html就像:
<INPUT TYPE=TEXT NAME="ACCOUNT" ID="ACCOUNT" VALUE="" MAXLENGTH=16 SIZE=16>
JavaScript就像:
function randomNumber(len) {
var randomNumber;
var n = '';
for(var count = 0; count < len; count++) {
randomNumber = Math.floor(Math.random() * 10);
n += randomNumber.toString();
}
return n;
}
document.getElementById("ACCOUNT").value = randomNumber(9);
工作jsFiddle。
答案 1 :(得分:0)
这样的事情,但你可以用不同的方式做到这一点:
http://jsbin.com/hujefopa/1/edit
function rand(len){
return Math.floor(Math.random() * Math.pow(10, len));
}
function setRand(){
document.getElementById('rand').value = rand(9);
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body onload="setRand()">
<input type="text" id="rand">
</body>
</html>
答案 2 :(得分:0)
BTW,如果你想生成一定长度的随机数,你可以用比一个数字大得多的块来做,例如:
function longRandom(length) {
var n = '';
while (n.length < length) {
n += ('' + Math.random()).split('.')[1];
}
return n.substr(0, length);
}
console.log(longRandom(42)); // 134434793311713322660940870849409308530315
将在每个循环中以大约15位数的块进行。 : - )
答案 3 :(得分:0)
请注意:
document.write
。见this question。要更新html输入的值,您可以使用:
document.getElementById('id-of-your-input-element').value = newValue;
或使用jQuery:
$('#id-of-your-input-element').val(newValue);
答案 4 :(得分:0)
使用javascript生成随机数,并使用类似于下面提到的代码在html中传入输入表单标记。
Javascript:
function randomNumber(len) {
var randomNumber;
var n = '';
for(var count = 0; count < len; count++) {
randomNumber = Math.floor(Math.random() * 10);
n += randomNumber.toString();
}
return n;
}
window.onload = function() {
document.getElementById("ACCOUNT").value = randomNumber(9);
};
HTML部分:
<INPUT TYPE=TEXT NAME="ACCOUNT" ID="ACCOUNT" VALUE="" MAXLENGTH=16 SIZE=16>
答案 5 :(得分:0)
HTML PART
<tr>
<td><FONT FACE="Arial,Helvetica" color="red"> Transaction ID: </font></td>
<td align=left>
<FONT FACE="Arial,Helvetica">
<INPUT TYPE=TEXT NAME="ACCOUNT" ID="ACCOUNT" VALUE="" MAXLENGTH=16 SIZE=16
readonly>
</font>
</td>
</tr>
JavaScript部分
<script>
document.getElementById('ACCOUNT').value=Math.floor(Math.random() * 10);
</script>