Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用格式将表单复制到剪贴板_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用格式将表单复制到剪贴板

Javascript 使用格式将表单复制到剪贴板,javascript,jquery,html,Javascript,Jquery,Html,我正在创建一个基本的网页表单,我希望表单填写完毕后,用一些基本格式复制到剪贴板 例如 发言与-发言与复制的输入在这里 已登录-此处已登录复制的输入 h3向这里驶去h3 摘要-此处复制了摘要输入 等 目前,我有一个复制功能正在工作,尽管复制的所有内容都在一行中,没有任何格式 当前格式示例- (此处使用复制输入进行对话)(此处登录复制输入)(此处摘要复制输入) 如何添加一些格式,如第一个示例 与- 登录- 对 否 描述客户的问题 摘要- 问题开始出现- 受影响电脑的数量 电脑受到影响

我正在创建一个基本的网页表单,我希望表单填写完毕后,用一些基本格式复制到剪贴板

例如

发言与-发言与复制的输入在这里

已登录-此处已登录复制的输入

h3向这里驶去h3

摘要-此处复制了摘要输入

目前,我有一个复制功能正在工作,尽管复制的所有内容都在一行中,没有任何格式

当前格式示例- (此处使用复制输入进行对话)(此处登录复制输入)(此处摘要复制输入)

如何添加一些格式,如第一个示例



与-

登录- 对 否

描述客户的问题 摘要-
问题开始出现-
受影响电脑的数量 电脑受到影响 1. 2 - 3 3 - 5 5 - 10 10+
错误消息代码(如果有)-
任何值得注意的事情-

系统信息 附系统审核- 审计 对 不
Leap服务器- 服务器 居住 LiveB
飞跃版-
32或64位- 操作系统类型 32位 64位
操作系统- 操作系统版本 视窗7 视窗8 Windows 8.1 视窗10
MSO版本和内部版本-
已安装防病毒软件-

复制/恢复信息 物质编号-
先前的代码/名称-
文件名称-
报告名称-
重新提出或复制问题的步骤-

问题发生在什么地方 问题是否发生在LEAP数据上- 挑选 对 不
该问题是否发生在客户数据上- 挑选 对 不

采取了什么行动来解决这个问题 为解决问题而采取的步骤-

决议 选择一个分辨率- 决议 关闭 升级


$(文档).ready(函数(){ $('#copy')。在('单击',函数()上){ 剪贴簿值=“”; $('#myForm')。查找('.input')。每个(函数(){ if($(this).attr('type')=='radio'){ 如果($(this).is(':checked')){ clipBoardValue=clipBoardValue+''+$(this.val(); } }否则{ clipBoardValue=clipBoardValue+''+$(this.val(); } }); log(clipBoardValue+“复制到剪贴板”); copyToClipboard(剪贴板值); 返回false; }); }); 功能copyToClipboard(文本){ var tempElement=document.createElement(“输入”); document.body.appendChild(tempElement); tempElement.setAttribute('value',text); tempElement.select(); 文件。执行命令(“副本”); document.body.removeChild(tempElement); 返回false; } $(文档).keypress(函数(){ var textarea=$('#txt'); textarea.val(textarea.val().replace(/#auto/g,“自动修复步骤\n 1.\n 2.\n 3”); textarea.val(textarea.val().replace(/#TS/g,“时间表修复步骤\n 1.\n 2.\n 3”); }); $(文档).ready(函数(){ $('#copy')。在('单击',函数()上){ 剪贴簿值=“”; $('#myForm')。查找('.input')。每个(函数(){ if($(this).attr('type')=='radio'){ 如果($(this).is(':checked')){ clipBoardValue=clipBoardValue+''+$(this.val(); } }否则{ clipBoardValue=clipBoardValue+''+$(this.val(); } }); log(clipBoardValue+“复制到剪贴板”); copyToClipboard(剪贴板值); 返回false; }); });
我发现了另一篇类似的帖子,上面写着“看”,但我已经在下面发布了你需要做的事情:

<button onclick="copyToClip(document.getElementById('foo').innerHTML)">
  Copy the stuff
  </button>

<div id=foo style="display:none">
  This is some data that is not visible. 
  You can write some JS to generate this data. 
  It can contain rich stuff.  <b> test </b> me <i> also </i>
  <span style="font: 12px consolas; color: green;">Hello world</span> 
  You can use setData to put TWO COPIES into the same clipboard, 
  one that is plain and one that is rich. 
  That way your users can paste into either a
  <ul>
    <li>plain text editor</li>
    <li>or into a rich text editor</li>
  </ul>
</div>

请注意,您也可以在这里或其他网站上进行一些研究,您不必总是问问题。

如果您将
str
传递到text/plain,这就是HTML,它将被视为是。您需要将不同的内容传递给text/plain(如
element.innerText
)和text/html(如用于两者的内容:
element.innerthtml
)。参见示例:优秀,拯救了我的一天。谢谢你,杰克
function copyToClip(str) {
  function listener(e) {
    e.clipboardData.setData("text/html", str);
    e.clipboardData.setData("text/plain", str);
    e.preventDefault();
  }
  document.addEventListener("copy", listener);
  document.execCommand("copy");
  document.removeEventListener("copy", listener);
};