如何将javascript变量传递给文本框?

时间:2011-02-06 16:47:23

标签: 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>

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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;
    }
}

答案 2 :(得分: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()">