【问题标题】:Copying value from one input field to another input field将值从一个输入字段复制到另一个输入字段
【发布时间】:2012-07-24 15:37:34
【问题描述】:

我需要一个 javascript 函数,用于根据复选框选择将一个输入字段的值复制到另一个输入字段。但是我在点击时做了一些javascript代码,

<script>    
function copyTextValue() {
    var text1 = document.getElementById("Name1").value;
    document.getElementById("Name2").value = text1;
    document.getElementById("Name3").value=text1;
}
</script>

<input type="checkbox" name="check1" onclick="copyTextValue();"/>

现在我需要在取消选中时删除这两个框中的复制值。我坚持这一点。有什么帮助吗?

【问题讨论】:

  • 该功能应该可以工作,请向我们展示这三个输入的 html。我猜你混淆了nameid。此外,您可能希望将 check1box 设为 type="button"
  • 它工作正常。但是当我取消选中复选框时它应该删除值,这不起作用,这是 html,
  • 这里是:jsfiddle.net/NTFAP

标签: javascript html


【解决方案1】:

通过使用upper ans,我将账单地址复制到woocommerce中的送货地址

 function copyTextValue(bf) {
        var billing_first_name = bf.checked ? document.getElementById("billing_first_name").value : '';
        var billing_last_name = bf.checked ? document.getElementById("billing_last_name").value : '';
        var billing_address_1 = bf.checked ? document.getElementById("billing_address_1").value : '';
        var billing_address_2 = bf.checked ? document.getElementById("billing_address_2").value : '';
        var billing_city = bf.checked ? document.getElementById("billing_city").value : '';
        var billing_state = bf.checked ? document.getElementById("billing_state").value : '';
        var billing_postcode = bf.checked ? document.getElementById("billing_postcode").value : '';
        document.getElementById("shipping_first_name").value = billing_first_name;
        document.getElementById("shipping_last_name").value = billing_last_name;
        document.getElementById("shipping_address_1").value = billing_address_1;
        document.getElementById("shipping_address_2").value = billing_address_2;
        document.getElementById("shipping_city").value = billing_city;
        document.getElementById("shipping_state").value = billing_state;
        document.getElementById("shipping_postcode").value = billing_postcode;
        
      }

【讨论】:

    【解决方案2】:

    function copyTextValue() {
    
        if(document.getElementById('check1').checked){
            let text1 = document.getElementById('Name1').value;        
            document.getElementById('Name2').value = text1;
            document.getElementById('Name3').value = text1;
        }
        else{
            document.getElementById('Name2').value = "";
            document.getElementById('Name3').value = "";
        }    
    }
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
      <input type="text" id="Name1" name="Name1">
      <input type="text" id="Name2" name="Name2">
      <input type="text" id="Name3" name="Name3">  
      
      <input type="checkbox" id="check1" name="check1" onclick="copyTextValue();"/>
    
    </body>
    </html>

    【讨论】:

      【解决方案3】:

      这就是我取消选中的方法:

          document.getElementById("Name2").value ="";
          document.getElementById("Name3").value="";  
      

      【讨论】:

        【解决方案4】:

        function copyTextValue(bf) {
          var text1 = bf.checked ? document.getElementById("Name1").value : '';
          document.getElementById("Name2").value = text1;
          document.getElementById("Name3").value = text1;
        }
        <input type="checkbox" name="check1" onchange="copyTextValue(this);" />
        <input id="Name1"><input id="Name2"><input id="Name3">

        【讨论】:

        • 如果您要使用多选输入并将这些项目复制到另一个文本框,能否更新答案?
        • @Harold_Finch 我会建议提出一个新问题,如果没有人回复,请联系我
        猜你喜欢
        • 1970-01-01
        • 2018-12-25
        • 1970-01-01
        • 1970-01-01
        • 2021-11-22
        • 1970-01-01
        • 1970-01-01
        • 2012-02-12
        相关资源
        最近更新 更多