2016-01-24 162 views
0

我试图自动填充文本框1至3与主文本框的内容,以便无论输入文本框“标题”也会出现在文本框中 Input1,Input2和Input3。这是我的,但我得到一个错误。用主文本框内容自动填充文本框

<html> 
<head> 
<script type="text/javascript"> 
    function CopyData(val){ 
    var a = document.getElementById(val.id).value 
    document.getElementById("CopyText").value=Title 
    } 

    </script> 
</head> 
<body> 

Title:<input type="text" name ="Title" id="Text" onkeyup="CopyData(this)"/><br /> <br /> 
Input 1:<input type="text" name ="Input1" id="CopyText"/><br /> 
Input 2:<input type="text" name ="Input2" id="CopyText"/><br /> 
Input 3:<input type="text" name ="Input3" id="CopyText"/><br />                

</body> 
</html> 
+1

请告诉我们你得到了哪个错误。并且:为什么你对多个元素使用相同的ID? –

+0

元素'ID'值必须是唯一的。 –

回答

1

尝试了这一点:

<html> 
<head> 
<script type="text/javascript"> 
    function CopyData(val){ 
    var a = document.getElementById(val.id).value 
    var inputs = document.querySelectorAll(".input"); 
    for(var i=0;i < inputs.length;i++) 
    { 
     inputs[i].value = a; 
    } 

    } 

    </script> 
</head> 
<body> 

Title:<input type="text" name ="Title" id="Text" onkeyup="CopyData(this)"/><br /> <br /> 
Input 1:<input type="text" class="input" name ="Input1" /><br /> 
Input 2:<input type="text" class="input" name ="Input2" /><br /> 
Input 3:<input type="text" class="input" name ="Input3" /><br />                

</body> 
</html> 

备注:

  1. 没有使用相同的id多个元素。尝试类而不是
  2. 您使用未定义的'标题',使用“a”,这是你存储输入值的地方
  3. 一次用简单的js获取许多元素,好方法是使用“querySelectorAll”与适当的选择器。

祝你好运。

0

我想你不能把同一个id标签分配给多个TextBox,所以你必须得到一个更加“硬编码”的javascript函数。此外,我会用Title.value不仅标题

function CopyData(){ 
document.getElementById("CopyText1").value=Title.value; 
document.getElementById("CopyText2").value=Title.value; 
document.getElementById("CopyText3").value=Title.value; 
}