我在下面有一个javascript函数:
var alphabet = [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" ];
function generateRandomString(strLength) {
var output = "";
for (var i = 0; i < strLength; i++) {
var randomIndex = Math.floor(Math.random() * alphabet.length);
output += alphabet[randomIndex]; }
return output; }
function getSession() {
var randomDiv = document.getElementById("randomStrings");
newText = generateRandomString(3);
randomDiv.innerHTML = newText;
}
这个功能的作用是检索任何字母3次并显示它,例如AGH,TRY,MNK等。
这显示在如下段落中:
<p id="randomStrings"></p>
上面的代码确实在屏幕上成功显示了代码。但是因为我想将这些数据发布到另一个页面,我认为最好不要使用<p>
标签来显示随机字符串,而是使用测试框来显示它。问题是,如果我这样做,它不会在文本框中显示randomString。为什么randomString没有在文本框的屏幕上显示?
下面是表单代码:
<form action="QandATable.php" method="post" id="sessionForm">
<table>
<tr>
<th>1: </th>
<td><input id="sessionBtn" type="button" value="Get Session ID" name="sessionid" onClick="getSession()" /></td> <!-- Get Session ID here-->
<td><input type="text" id="randomStrings" name="random" readonly="readonly"/></td>
</tr>
</table>
</form>
答案 0 :(得分:0)
尝试使用值属性而不是 innerHTML 。
function getSession() {
var randomDiv = document.getElementById("randomStrings");
newText = generateRandomString(3);
randomDiv.value = newText;
}