我想从文本框中获取输入,将其值与字符串连接,然后将其复制到剪贴板。
我陷入.select()
的困境,因为它不适用于该变量。我在alert
之前插入了.select()
来检查它的值,但这没关系。警报值应复制到剪贴板。
function copyLink() {
var siteNumber = document.getElementById("number");
var home = "http://www.website.com/site";
var link = home.concat(siteNumber.value);
alert(link);
link.select();
document.execCommand("copy");
alert("Copied the text: " + link);
}
<input type="text" id="number">
<button onclick="copyLink()">Copy input as link</button>
答案 0 :(得分:1)
似乎您需要将dom的值附加到select
。在这种情况下,请创建一个hidden
输入,并将其值添加为link。然后再次复制后,将其设置为空字符串。
对于字符串连接,您可以使用+
function copyLink() {
var siteNumber = document.getElementById("number");
var home = "http://www.website.com/site";
var link = home + siteNumber.value;
let _h = document.getElementById('hiddenIp');
_h.value = link
//alert(link);
_h.select();
document.execCommand("copy");
_h.value = '';
alert("Copied the text: " + link);
}
<input type="text" id="number">
<button onclick="copyLink()">Copy input as link</button>
<input type='hidden' id='hiddenIp'>
答案 1 :(得分:0)
要复制的文本必须在DOM的元素中,这就是您所谓的select
(不是字符串)。查看评论:
function copyLink() {
// Get the value
var siteNumber = document.getElementById("number").value;
// Build the link
var link = "http://www.website.com/site" + siteNumber;
// Create an input to put it in and append it to the DOM
var input = document.createElement("input");
input.value = link;
document.body.appendChild(input);
// Select and copy
input.select();
document.execCommand("copy");
// Remove the temporary input
document.body.removeChild(input);
alert("Copied the text: " + link);
}
<input type="text" id="number">
<button onclick="copyLink()">Copy input as link</button>
答案 2 :(得分:0)
select()
仅适用于元素。您需要创建一个。
或者您可以在输入元素中临时保存值。
function copyLink() {
var siteNumber = document.getElementById("number");
var home = "http://www.website.com/site";
var temp = siteNumber.value
siteNumber.value = home + temp
siteNumber.select();
document.execCommand("copy");
alert("Copied the text: " + siteNumber.value);
siteNumber.value = temp
}
<input type="text" id="number">
<button onclick="copyLink()">Copy input as link</button>