Javascript 将一个字段的文本自动复制到另一个字段中
我需要复制在某个字段中输入的文本(无论是键入的、粘贴的还是从浏览器自动填充中输入的),并同时或在用户更改到另一个字段时将其粘贴到另一个字段中 如果用户删除字段_1中的文本,它也应在字段_2中自动删除 我试过这个,但不起作用:Javascript 将一个字段的文本自动复制到另一个字段中,javascript,jquery,html,Javascript,Jquery,Html,我需要复制在某个字段中输入的文本(无论是键入的、粘贴的还是从浏览器自动填充中输入的),并同时或在用户更改到另一个字段时将其粘贴到另一个字段中 如果用户删除字段_1中的文本,它也应在字段_2中自动删除 我试过这个,但不起作用: <script type="text/javascript"> $(document).ready(function () { function onchange() { var box1 = document.getElementById('field_1'
<script type="text/javascript">
$(document).ready(function () {
function onchange() {
var box1 = document.getElementById('field_1');
var box2 = document.getElementById('field_2');
box2.value = box1.value;
}
});
</script>
$(文档).ready(函数(){
函数onchange(){
var box1=document.getElementById('field_1');
var box2=document.getElementById('field_2');
box2.value=box1.value;
}
});
有什么想法吗?在第一个元素上调用onchange()
方法onblur
<input type="text" id="field_1" onblur="onchange()"/>
你就快到了。。。该函数是正确的,您只需将其分配给输入的
更改事件:
<script type="text/javascript">
$(document).ready(function () {
function onchange() {
//Since you have JQuery, why aren't you using it?
var box1 = $('#field_1');
var box2 = $('#field_2');
box2.val(box1.val());
}
$('#field_1').on('change', onchange);
});
$(文档).ready(函数(){
函数onchange(){
//既然您有JQuery,为什么不使用它呢?
变量框1=$(“#字段_1”);
变量框2=$(“#字段_2”);
box2.val(box1.val());
}
$(“#字段_1”)。on('change',onchange);
});
尝试使用keyup事件
<input type="text" id="box_1"/>
<input type="text" id="box_2"/>
$('#box_1').keyup(function(){
$('#box_2').val($(this).val());
})
$('#box_1').keyup(函数(){
$('#box_2').val($(this.val());
})
尝试以下方法:
$(document).ready(function () {
$('#field_1').on('change', function (e) {
$('#field_2').val($('#field_1').val());
});
});
这里有一个提示:您需要将第一个输入绑定到事件。类似这样的方法会奏效:
$(文档).ready(函数(){
$(“#a”).change(函数(){
var a=$(“#a”).val();
$(“b”).val(a);
});
});代码>
$(文档).ready(函数(){
$('.textBox1')。在('change',function()上{
$('.textBox2').val($(this.val());
});
});代码>
如果您使用的是jQuery,它非常简单-您只需在正确的事件上注册正确的函数:)
代码如下:
<input id="foo" />
<input id="bar" />
$(function(){
var $foo = $('#foo');
var $bar = $('#bar');
function onChange() {
$bar.val($foo.val());
};
$('#foo')
.change(onChange)
.keyup(onChange);
});
$(函数(){
变量$foo=$(“#foo”);
var$bar=$(“#bar”);
函数onChange(){
$bar.val($foo.val());
};
$(“#foo”)
.change(onChange)
.keyup(onChange);
});
JSFiddle:如果希望第二个字段的值与第一个字段的值在同一时间更新,可以通过超时处理
每次按下一个键,它将在执行的下一个堆栈上执行checkValue
函数。因此,调用此函数时,DOM
中的字段1
的值将已经更新
var$field1=$(“#field_1”);
变量$field2=$(“#field_2”);
$field1.on(“向下键”,函数(){
设置超时(检查值,0);
});
var v2=$field2.val();
var checkValue=函数(){
var v1=$field1.val();
如果(v1!=v2){
$field2.val(v1);
v2=v1;
}
};代码>
您是否将onchange
事件绑定到了任何东西?额外的好处是您同时使用了change
和keyup
@DanielPanic您能建议如何优化它吗?