Javascript自动剪贴板无法正确复制数据

时间:2018-02-24 12:23:40

标签: javascript html

我的javascript / HTML自动复制功能出现问题 当我单击按钮(<i class="far fa-clipboard">)时,它总是复制Donate BTC值而不是ETH值或LTC值。

这是我的javascript代码:

function autocopy() {
  var copyText = document.getElementById("myInput");
  copyText.select();
  document.execCommand("Copy");
  alert("Copied the text: " + copyText.value);
}

我是如何在html中实现的:

    <div class="donateto">           



        <p>                 
        <b>Donate BTC</b>
            <input type="text" value="3CMCRgEm8HVz3DrWaCCid3vAANE42jcEv9" id="myInput">
            <button onclick="autocopy()"><i class="far fa-clipboard"></i></button>


        <b> | Donate ETH</b>
            <input type="text" value="LTdsVS8VDw6syvfQADdhf2PHAm3rMGJvPX" id="myInput">
            <button onclick="autocopy()"><i class="far fa-clipboard"></i></button>   

        <b> | Donate LTC</b>
            <input type="text" value="30x0074709077B8AE5a245E4ED161C971Dc4c3C8E2B" id="myInput">
            <button onclick="autocopy()"><i class="far fa-clipboard"></i></button>             
        </p>

     </div>

1 个答案:

答案 0 :(得分:0)

您对3个元素使用相同的ID,所以 var copyText = document.getElementById(“myInput”); 只复制带有id的第一个元素。

 <div class="donateto">           



    <p>                 
    <b>Donate BTC</b>
        <input type="text" value="3CMCRgEm8HVz3DrWaCCid3vAANE42jcEv9" id="myInput">
        <button onclick="autocopy('myInput')">a<i class="far fa-clipboard"></i></button>


    <b> | Donate ETH</b>
        <input type="text" value="LTdsVS8VDw6syvfQADdhf2PHAm3rMGJvPX" id="myInput2">
        <button onclick="autocopy('myInput2')"><i class="far fa-clipboard"></i>a</button>   

    <b> | Donate LTC</b>
        <input type="text" value="30x0074709077B8AE5a245E4ED161C971Dc4c3C8E2B" id="myInput3">
        <button onclick="autocopy('myInput3')">a<i class="far fa-clipboard"></i></button>             
    </p>

 </div>

js:

    function autocopy(id) {
      var copyText = document.getElementById(id);
     copyText.select();
     document.execCommand("Copy");
     alert("Copied the text: " + copyText.value);
   }