JavaScript实现两个文本框内容同步的两种方案
作者:木棉时间:2026-10-27 12:20:16浏览:598
本文介绍在JavaScript中实现两个文本框内容同步的两种常见方式。第一种利用setInterval定时器每0.5秒执行一次同步函数,实现定时轮询同步;第二种结合onchange与onkeyup事件,前者处理非即时性改变,后者处理键盘输入的即时性改变,两者结合可覆盖鼠标粘贴等场景。
基于定时器的文本框同步方案
HTML代码结构如下:
具体实现代码如下:
<html>
<head>
<script>
// 定义同步函数
function synchronize(){
document.getElementById('i1').value =document.getElementById('i2').value;
// alert("同步成功");
}
// 执行同步逻辑
setInterval(synchronize,500);// 设置同步时间间隔,每0.5秒同步一次
</script>
</head>
<body>
在第二个输入框中输入字符,会自动同步到第一个输入框。<br/><br/>
第一个输入框:<input type="text" size="45" id="i1" name="first"><br/><br/>
第二个输入框:<input type="text" size="45" id="i2" name="second">
</body>
</html>将上述HTML代码保存为html格式文件,使用浏览器打开即可看到效果。请注意:部分浏览器出于安全考虑,默认禁止执行本地脚本,此时需点击“运行”按钮允许执行。
基于事件处理的文本框同步方案
在进一步查阅资料时发现,除了change事件外,其他事件如keyup等也可用于处理同步。以下提供另外两个示例片段:
代码如下:
// 此方法并非即时性改变
<input type="text" id="t1" value="" size="45" onchange="document.getElementById('t2').value=this.value" />
<input type="text" id="t2" value="" size="45" onchange="document.getElementById('t1').value=this.value" />
// 此方法为即时性改变,但若通过鼠标操作(如粘贴)则无法检测,因此建议将上述两种方法结合使用。
<input type="text" id="t3" value="" size="45" onkeyup="document.getElementById('t4').value=this.value" />
<input type="text" id="t4" value="" size="45" onkeyup="document.getElementById('t3').value=this.value" />作者最新文章
JavaScript怎么准确判断数据类型:typeof、instanceof与Object.prototype.toString
2026-11-05 17:09:21
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
D3.js 与 ECharts 选型对比:灵活性 vs 开发效率
2026-11-05 09:45:01
