Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将javascript变量传递给textbox?_Javascript - Fatal编程技术网

如何将javascript变量传递给textbox?

如何将javascript变量传递给textbox?,javascript,Javascript,我想问一个问题 如何将javascript生成的代码传递到文本框“code” 我上网冲浪,但找不到答案 我希望你们都能帮助我 谢谢 <form><input name="code" type="text" value="" > <script> function makeid() { var tex

我想问一个问题

如何将javascript生成的代码传递到文本框“code”

我上网冲浪,但找不到答案

我希望你们都能帮助我

谢谢

  <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>

函数makeid()
{
var text=“”;
var-mable=“abcdefghijklmnopqrstuvxyz”;
对于(变量i=0;i<6;i++)
text+=可能的.charAt(Math.floor(Math.random()*可能的.length));
警报(文本);
返回文本;
}       

您需要设置该文本框的
值。如果它的
id
code
,您可以这样做:

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;
    }
}

您需要设置该文本框的
值。如果它的
id
code
,您可以这样做:

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;
    }
}

以下两个输入字段的代码更改将导致随机字符串出现在输入文本字段中,以及警报框中:

<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()">

以下两个输入字段的代码更改将导致随机字符串出现在输入文本字段中,以及警报框中:

<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()">

您必须设置文本框的值,而不是返回值

更新后的代码

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;
}​

工作

您必须设置文本框的值,而不是返回值

更新后的代码

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;
}​

工作时

不需要迭代表单中的所有输入元素,因为可以使用
getElementsByName
获取带有name属性的文本框。因此,您的第二个示例可以重写为
var codelem=document.getElementsByName('code')[0]
,以获得问题中所示的单个文本框。@Livingston我当时在想,“有更好的方法。必须有。”@Javed
=
确保比较实际值。例如,
0==“0”
为false,即使
0==“0”
为true。您不需要迭代表单中的所有输入元素,因为您可以使用
getElementsByName
获取具有name属性的文本框。因此,您的第二个示例可以重写为
var codelem=document.getElementsByName('code')[0]
,以获得问题中所示的单个文本框。@Livingston我当时在想,“有更好的方法。必须有。”@Javed
=
确保比较实际值。例如,
0==“0”
为false,即使
0==“0”
为true。