如果我在t1中输入内容,则更改t2 但如果t2已经有手动输入,则不再更改(反之亦然)。
如何使用javascript更改已经手动输入的输入字段(无需重新加载页面!)?
<!DOCTYPE html>
<html>
<body>
inputfields are not changed, if they have/had an input already!<br />
<br />
t1: <input type="text" id="t1" value="" onchange="upd1()"><br /><br />
t2: <input type="text" id="t2" value="" onchange="upd2()">
<script>
function upd1() {
t2.setAttribute("value", "changed");
return true;
}
function upd2() {
t1.setAttribute("value", "changed");
return true;
}
</script>
</body>
</html>
答案 0 :(得分:0)
您还可以保存每个字段的旧值以继续编辑。此外,它每次都会在另一个字段上显示编辑状态。对用户来说会更舒服。
inputfields are not changed, if they have/had an input already!<br />
<br />
<input type="text" id="t1" value="" onClick="renderFirstEl()" onInput="upd1()"><br /><br />
<input type="text" id="t2" value="" onClick="renderSecondEl()" onInput="upd2()">
<script>
let firstElValue = '';
let secondElValue = '';
function upd1() {
let el = document.querySelector('#t2');
el.value = 'changed';
return true;
}
function upd2() {
let el = document.querySelector('#t1');
el.value = 'changed';
return true;
}
function renderFirstEl() {
let el = document.querySelector('#t1');
secondElValue = document.querySelector('#t2').value;
el.value = firstElValue;
}
function renderSecondEl() {
let el = document.querySelector('#t2');
firstElValue = document.querySelector('#t1').value;
el.value = secondElValue;
}
</script>
&#13;
答案 1 :(得分:-1)
简单的答案是使用这个:
function upd1() {
t2.value = 'changed';
return true;
}
function upd2() {
t1.value = 'changed';
return true;
}
t1: <input type="text" id="t1" value="" onchange="upd1()"><br /><br />
t2: <input type="text" id="t2" value="" onchange="upd2()">
键入其中一个输入后,值会更改,然后按Enter键。
因为如上所述:https://www.w3schools.com/jsref/met_element_setattribute.asp。
“setAttribute()方法将指定的属性添加到元素,并为其指定值。 如果指定的属性已存在,则只设置/更改值。“