0

我在以下循环中有 2 个文本框。我想将数据从一个文本框复制到另一个。以下是我的代码的一部分

javascript

function copy(val) {
 var a = document.getElementById("textA"+val).value
 document.getElementById("textB"+val).value=a
}

html

<% int count1 = -1;
   for(int i=0; i<2; i++) { %>

    <td><input type="text" id= "textA<%=i%>" /></td>
    <td><input type="text" id= "textB<%=i%>" readonly/></td>

<% count1 = i;
}%>

<td><input type="button" value=" Copy " name="cb_copy" onClick="copy(<%=count1%>)"/>/td>

bt 现在这只适用于将文本框的 1 个值复制到另一个。如何将此循环中的所有 textA 值复制到此循环本身内的相应 textB 中?

提前感谢您提供任何可能的帮助!:)

4

2 回答 2

2

如果您知道textA的索引从 0 开始并且连续到末尾,您可以执行以下操作:

var i = 0;
var source, target;

while (source = document.getElementById('textA' + i)) {

  if (target = document.getElementById('textB' + i)) {
    target.value = source.value;
  }
  i++;
}

这将在尝试访问元素之前测试元素是否存在,这有助于不引发错误,并且不需要您知道有多少对。

于 2013-06-26T02:49:14.323 回答
1

将 JS 更改为:

function copy(val) {
   for(var i=0; i<val; i++) {
       var a = document.getElementById("textA"+i).value;

       document.getElementById("textB"+i).value = a;
   }
}
于 2013-06-26T02:43:23.367 回答