2011-02-06 28 views
1

我想問一個問題。如何將JavaScript變量傳遞給文本框?

我該如何將JavaScript生成的代碼傳遞給文本框「代碼」?

我上網衝浪,但我無法找到答案

我希望大家能幫助我。

謝謝!!

<form><input name="code" type="text" value="" > 
       <script> 
        function makeid() 
        { 
         var text = ""; 
         var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 

         for(var i=0; i < 6; i++) 
          text += possible.charAt(Math.floor(Math.random() * possible.length)); 

         alert(text); 
         return text; 
        }  
       </script> 
        <input type="button" style="font-size:9pt" value="Generate Code" onclick="makeid()"> 
        </input></form> 

回答

0

您需要設置該文本框的value值。如果其idcode,你可能只是這樣做:

document.getElementById('code').value = text; 

但因爲它的立場,你會通過有周期的所有投入到尋找它:

var inputs = document.getElementsByTagName('input'), 
    i = inputs.length; 

while (i) { 
    i -= 1; 
    if (inputs[i].name === 'code') { 
     inputs[i].value = text; 
     break; 
    } 
} 
+0

爲什麼``===在`如果(輸入[I]。名稱=== '代碼')`? – 2011-02-06 17:02:38

0

下面的代碼除了警告框之外,對於兩個輸入字段的更改將導致隨機字符串出現在輸入文本字段中:

<input name="code" id="code" type="text" value="" > 
<!-- original javascript code goes here--> 
<input type="button" style="font-size:9pt" value="Generate Code" 
    onclick="document.getElementById('code').value = makeid()"> 
1

必須設置文本框的值,而不是返回值

更新的代碼,

var codeElem = document.getElementById('code'); 

function makeid() { 
    var text = "", possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ", i = 0; 

    for(; i < 6; i++) { 
    text += possible.charAt(Math.floor(Math.random() * possible.length)); 
    } 

    //alert(text); 

    codeElem.value = text; 
}​ 

您對一個id屬性添加到文本框,以便它可以輕鬆訪問。

<input id="code" name="code" type="text" value="" > 

example工作

相關問題