根据输入类型ID将值从一个文本框复制到另一个文本框

时间:2011-05-05 07:31:03

标签: javascript textbox

参考有关将值从一个文本框复制到另一个文本框的问题

Replicating the values to another textbox

如果只有两个文本框,解决方案效果很好。但是当索引在循环上运行时它会失败。

对于Ex - 我们认为该表包含每行中的文本框列表

第1行textbox1 textbox2
 第二行textbox3 textbox4

每个框的id是根据状态索引生成的。当我更新textbox1中的值时,textbox2会更新。但是当我更新textbox3时,更新textbox4.textbox2而不是更新。

2 个答案:

答案 0 :(得分:0)

因为链接代码直接更新textbox2。将id放在一个数组中并迭代它以设置每个文本框的值,例如

function updateTextareas(el) {
  var value = el.value;
  for (var i=1, iLen=arguments.length; i<iLen; i++) {
    document.getElementById(arguments[i]).value = value;
  }
}

然后你可以这样称呼它:

document.getElementById('input1').onkeyup = function () {
  updateTextareas(this,'textbox2','textbox3',...);
};

或类似的策略。

答案 1 :(得分:0)

为集合中的所有元素指定相同的名称(或类名,并使用getElementsByClassName)。然后在javascript中执行以下伪代码:

// onmodify:

var name = thisTextarea.name;
var newText = thisTextarea.text;
var elementsToUpdate = document.getElementsByName(name);

for each textarea in elementsToUpdate {
    if (textarea != thisTextarea) // may not even need this line
        textarea.text = newText;
}