从具有单个功能的几个输入之一(按ID)复制文本



大家。在此HTML文档上工作。

我具有一个函数(由按钮触发(,可以从输入中选择和复制文本。所述功能根据输入的ID工作。

我想添加多个输入并修复该功能以获取一个特定输入的文本,但是到目前为止,我只能通过说明一个输入的特定ID来使其正常工作。

显然,我不想为我要使用的每个输入实现函数。

这是我当前的代码:

<input type="text" value="AWESOME TEXT" id="1">   
<button id="1" onclick="myFunction()"> Copy</button>

这是脚本

<script>
function myFunction() {
  var copyText = document.getElementById("1");
  copyText.select();
  document.execCommand("copy");
  alert("Copied the text: " + copyText.value);
}
</script>

该函数在ID" 1"中找到输入并复制文本。因为我必须介绍" 1",所以它只能与该特定输入一起使用。

我尝试了:

  var copyText = document.getElementById(this.id);

和:

  var copyText = document.innerHTML);

但无济于事。

到目前为止,我唯一的选择是为每个输入提供一个功能,但这不仅是繁重的和不可行的。它也会膨胀我的代码。

预先感谢。

如果将ID作为参数发送,则它将正常工作。您可以这样做:

function myFunction(myId) {
  var copyText = document.getElementById(myId);
  copyText.select();
  document.execCommand("copy");
  alert("Copied the text: " + copyText.value);
}
<input type="text" value="AWESOME TEXT" id="1">   
<button id="1" onclick="myFunction(this.id)"> Copy</button>

它像魅力一样工作。

我没有注意到按钮ID也必须匹配输入ID。

非常感谢。

pietro nadalini。

最新更新