Javascript 使用格式将表单复制到剪贴板
我正在创建一个基本的网页表单,我希望表单填写完毕后,用一些基本格式复制到剪贴板 例如 发言与-发言与复制的输入在这里 已登录-此处已登录复制的输入 h3向这里驶去h3 摘要-此处复制了摘要输入 等 目前,我有一个复制功能正在工作,尽管复制的所有内容都在一行中,没有任何格式 当前格式示例- (此处使用复制输入进行对话)(此处登录复制输入)(此处摘要复制输入) 如何添加一些格式,如第一个示例Javascript 使用格式将表单复制到剪贴板,javascript,jquery,html,Javascript,Jquery,Html,我正在创建一个基本的网页表单,我希望表单填写完毕后,用一些基本格式复制到剪贴板 例如 发言与-发言与复制的输入在这里 已登录-此处已登录复制的输入 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);
};