我想在文本文本框中显示我的字符串,但它没有这样做

时间:2011-11-26 01:30:02

标签: javascript html forms textbox

我在下面有一个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>

1 个答案:

答案 0 :(得分:0)

尝试使用属性而不是 innerHTML

 function getSession() {     
    var randomDiv = document.getElementById("randomStrings");     
    newText = generateRandomString(3);     
    randomDiv.value = newText; 
 }