表单'提交'按钮复制URL到剪贴板

时间:2018-01-26 22:22:08

标签: html forms

我有一个带有'get'方法的HTML表单。当我单击“提交”时,操作是在新选项卡中打开php文件。这是正常的,因为我使用'get'我可以复制/粘贴URL,并在我最初提交时从表单中返回相同的页面。

现在我想在表单中添加一个额外的按钮,但我希​​望它将包含所有变量的URL复制到剪贴板,而不是在新选项卡中打开URL。

我不是在寻找有人为我编写代码,只是指出我正确的方向。我是否应该尝试找出构建URL的方法,然后使用Javascript将其复制到剪贴板? PHP会更有意义吗?

我可以发布代码到目前为止,如果有人认为它会有所帮助,但它实际上只是一个基本的HTML表单。无论表格中有哪些字段等,我如何使用这些字段构建URL?

我希望,因为它已经构建了URL以在新选项卡中重定向到那里,所以只需抓住它并将其复制到剪贴板而不实际重定向它们。

修改

问题被标记为重复,因为其他问题已经回答了如何将简单文本复制到剪贴板。我想我在原始问题中不够清楚,我想在构建URL之后中断表单,但在它重定向到URL之前。然后将该URL复制到剪贴板。可能不可能,因为我已经做了很多谷歌搜索,并没有找到任何东西。如果有人甚至可以告诉我是否有可能会非常感激。

也许唯一的方法是自己构建URL然后复制到剪贴板,这很好,但我想确保我没有遗漏像formtarget ='clipboard'这样简单的东西太有道理了。

1 个答案:

答案 0 :(得分:0)

我把它扔到了一起。我已经使用它的变体几年了。

让您的URL显示为div,然后让您的按钮引用显示的div。我已经完成了你正在尝试做的事情,这种方式已经很好了。

<强> HTML

<h3 id="copyMe">Click that button and you'll copy all of me.</h3>

<button class="btn btn-lg btn-secondary" onclick="copyToClipboard('#copyMe')"><i class="fa fa-files-o" aria-hidden="true"></i>Click to Copy</button>

<强>的JavaScript

function copyToClipboard(element) {
  var $temp = $("<input>");
  $("body").append($temp);
  $temp.val($(element).text()).select();
  document.execCommand("copy");
  $temp.remove();
}

查看Codepen