Javascript 获取一个值以镜像另一个值

Javascript 获取一个值以镜像另一个值,javascript,if-statement,wildcard,onchange,Javascript,If Statement,Wildcard,Onchange,我正试图使它这样field2将显示field1中输入的任何值。我正在使用onchange事件来完成此操作 field1是一个输入文本框,因此如果field1=“Mary”,则field2应为“Mary” 如果field1说“花生酱和果冻”,field2应该说“花生酱和果冻” 如果字段1留空,则字段2应留空 现在我有一个使field2复制field1的代码,但我必须给它一组预先确定的值,在这里我想要有代码功能,这样用户就不局限于我提供的输入选项 这一点现在很有效: 如果(filed1.value=

我正试图使它这样field2将显示field1中输入的任何值。我正在使用onchange事件来完成此操作

field1是一个输入文本框,因此如果field1=“Mary”,则field2应为“Mary”

如果field1说“花生酱和果冻”,field2应该说“花生酱和果冻”

如果字段1留空,则字段2应留空

现在我有一个使field2复制field1的代码,但我必须给它一组预先确定的值,在这里我想要有代码功能,这样用户就不局限于我提供的输入选项

这一点现在很有效:

如果(filed1.value='Hello'){filed2.value='Hello'} else{filed2.value='';}

我需要它说的是

if (field1.value=='anything at all') {filed2.value='whatever was put in filed1'}

else{field2.value='';}

我不确定我是否正确理解了您的问题,但我想您应该验证字段是否为空

function mirrorValue(event){
  let val = event.target.value;

  if(val != null){
    field2.value = val;
  }
else{
   field2.value = null;
}
}
然后在元素上放置:

onchange=“mirrorValue($event)”


希望这就是你想要做的。

你不需要if语句。相反,您可以使用field1的onchange或keyup事件来设置field2的值。下面是一个使用jQuery的示例站点。如果你想让我把它变成标准的Javascript,请告诉我

Html:

这是最重要的部分-更新field2的值以匹配field1的值。这是html文件中body标记元素底部引用的Javascript文件

// Site.js

$(document).ready(function() {
    // $("#txt1").change(function() {
    //  $("#txt2").val(this.value);
    // });

    $("#txt1").keyup(function() {
        $("#txt2").val(this.value);
    });
});
我已经注释掉了change event函数,并且激活了keyup函数。这将为您提供有关值的实时更新。如果愿意,可以使用第一个函数将其更改为使用onchange事件,并注释掉keyup函数,但在field1失去焦点之前,它不会更新field2

我不确定为什么要使用if语句来检查field1的值。但是,如果您有特定的原因想告诉我,我会更新我的答案,那么这应该是没有必要的

编辑

以下是仅使用javascript的javascript页面:

    // document.getElementById('txt1').onchange = function() {
    //  document.getElementById('txt2').value = this.value;
    // }

    document.getElementById('txt1').onkeyup = function() {
        document.getElementById('txt2').value = this.value;
这些都是相同的javascript函数,只是没有jQuery。注释掉的函数只会在field1失去焦点后更改field2的文本,第二个(未注释的函数)会在field1的每次击键时更新field2


如果您还有其他问题,请告诉我。

是否
field1.onchange=()=>field2.value=field1.value工作?事实上,你能用JavaScript给我演示一下吗?我对HTML不是很熟悉,JavaScript对我来说更有意义。我认为这将是一个简单的语法问题,或者我只是不知道什么是通配符,这将涵盖它们,一点也不担心!我已经更新了答案,以包含不带jQuery的Javascript函数。了解您打算如何准确地更新field2可能会有所帮助,因为我仍然不确定if语句在您的初始问题中用于什么。让我知道这个答案是否对您有帮助,或者您是否还有其他问题。实际上,我只是尝试将filed1输入放在field2中,而不让任何人输入两次,如果field1被清除,也会清除field2
// Site.js

$(document).ready(function() {
    // $("#txt1").change(function() {
    //  $("#txt2").val(this.value);
    // });

    $("#txt1").keyup(function() {
        $("#txt2").val(this.value);
    });
});
    // document.getElementById('txt1').onchange = function() {
    //  document.getElementById('txt2').value = this.value;
    // }

    document.getElementById('txt1').onkeyup = function() {
        document.getElementById('txt2').value = this.value;