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