当我在第一个输入中写入内容时,第二个输入显示了它,但是:
a)如果我想看输入文字" 2"在输入" 3"?
中显示HTML:
<input id="1" type="text" oninput=al() /></br>
<input id="2" disabled="disabled" ></br>
<input id="3" disabled="disabled">
JS:
function al() {
var a = document.getElementById("1").value;
var result = a;
var ab = document.getElementById("2");
ab.value=a;
}
b)如果我想从输入&#34; 1&#34;在两个输入名为&#34; 2&#34;? HTML:
<input id="1" type="text" oninput=al() /></br>
<input id="2" disabled="disabled" ></br>
<input id="2" disabled="disabled">
JS:
function al() {
var a = document.getElementById("1").value;
var result = a;
var ab = document.getElementById("2");
ab.value=a;
}
答案 0 :(得分:1)
回答A:要在ID为2
的输入和ID为3
的输入中显示相同的值:
function al() {
var a1 = document.getElementById("1").value;
var a2 = document.getElementById("2");
var a3 = document.getElementById("3");
a2.value = a3.value = a1;
}
答案B:使用具有相同ID的元素是错误的,并且会导致HTML文档无效。为了实现您的目标,您可以使用某个类(在下面的示例中为classA
)设置两个元素,然后您可以使用document.querySelectorAll
返回元素数组,然后使用索引设置它们的值[0]
和[1]
:
<input id="1" type="text" oninput=al() /></br>
<input class='classA' disabled="disabled" ></br>
<input class='classA' disabled="disabled">
function al() {
var a = document.getElementById("1").value;
var result = a;
var ab = document.querySelectorAll("[class='classA']");
ab[0].value = ab[1].value = a;
}
答案 1 :(得分:0)
首先,您不能拥有两个具有相同ID的元素。
其次要从一个复制到另一个,最好使用keyDown
,keyUp
或onchange
事件。
E.g。
<input type="text" id="1" onchange="copypaste()"/>
<input type="text" id="2"/>
function copypaste() {
var first = document.getElementById("1")
var second = document.getElementById("2")
second.value = first.value
}