Вы можете фактически клонировать существующий элемент ввода:
if (document.getElementById("cloned") == null) {
var clonedInput = document.getElementById("toClone").cloneNode(true);
clonedInput.id = 'cloned';
clonedInput.onchange = f;
var lastChild = document.getElementById("parent");
document.body.insertBefore(clonedInput, lastChild);
}
Теперь, чтобы прочитать значение, измените f
на это:
function f() {
var value = this.value;
alert(value);
return true;
}
Редактировать: чтобы клонированный ввод отражал первое «живое», вам нужно прикрепить пару событий:
if (document.getElementById("cloned") == null) {
var orgInput = document.getElementById("toClone");
var clonedInput = orgInput.cloneNode(true);
clonedInput.id = 'cloned';
clonedInput.onchange = f;
orgInput.onkeypress = ReflectValue;
orgInput.onchange = ReflectValue;
var lastChild = document.getElementById("parent");
document.body.insertBefore(clonedInput, lastChild);
}
Тогда имейте эту функцию:
function ReflectValue() {
var cloned = document.getElementById("cloned");
cloned.value = this.value;
}
Теперь, когда пользователь вводит первый ввод, он отражается на втором вводе, а всякий раз, когда пользователь фокусируется, он также отражает любые изменения, не связанные с клавиатурой, такие как вставка текста.