自动填充文本框与主文本框内容

时间:2016-01-24 13:22:23

标签: javascript html

我尝试使用主要文本框内容自动填充文本框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>

2 个答案:

答案 0 :(得分: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”和正确的选择器。
  4. 祝你好运。

答案 1 :(得分:0)

我猜你不能将同一个id标签分配给多个TextBox,所以你必须最终得到一个更“硬编码”的javascript函数。而且,我会使用Title.value而不仅仅是Title

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