Javascript 未捕获类型错误:无法读取属性';setData';未定义的
我编写了Javascript,将数据从textbox复制到剪贴板: 文本框:Javascript 未捕获类型错误:无法读取属性';setData';未定义的,javascript,c#,html,asp.net,Javascript,C#,Html,Asp.net,我编写了Javascript,将数据从textbox复制到剪贴板: 文本框: <asp:TextBox ID="contNoTxtBox" runat="server" Width="182px" style="height: 22px"></asp:TextBox> 我用以下方式在HTML按钮中调用它: <input id="CopyButton" type="button" value="Copy" onclick="CopyToClipBoard()" /&
<asp:TextBox ID="contNoTxtBox" runat="server" Width="182px" style="height: 22px"></asp:TextBox>
我用以下方式在HTML按钮中调用它:
<input id="CopyButton" type="button" value="Copy" onclick="CopyToClipBoard()" /><br />
但是,我得到以下错误:
未捕获的TypeError:无法读取未定义的属性“setData”
为什么会出现这种类型的pf错误 指的是你的
window.clipboardData.setData('Text',Text)
仅与InternetExplorer兼容。
使用Chrome等实现此功能的其他方法如示例所示。Aspx代码:
Aspx code:
<head>
<script language="javascript" type="text/javascript">
function pasteContent() {
document.getElementById('ClipboardContent').value = document.execCommand('copy');// window.clipboardData.getData('Text');
return (true);
}
var elem3 = document.getElementById("elem");
document.addEventListener("click", function () {
document.getElementById("demo").innerHTML = "Hello World";
});
elem3.addEventListener('copy', function (e) {
e.preventDefault();
if (e.clipboardData) {
e.clipboardData.setData('text/plain', 'custom content from click');
} else if (window.clipboardData) {
window.clipboardData.setData('Text', 'custom content from click');
}
});
</script> <script runat="server">
protected override void OnInit(EventArgs e) { Page.ClientTarget = "uplevel"; base.OnInit(e);
}
</script>
</head>
<body>
<asp:Button ID="ReloadCtl" runat="server" Text="Paste" OnClick="ReloadCtl_Click"
OnClientClick="return pasteContent();" />
<asp:HiddenField ID="ClipboardContent" runat="server" ClientIDMode="Static" /> </body>
C# Code:
protected void ReloadCtl_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.ClipboardContent.Value))
{
DataTable dt1 = DataMapper.GetDataTable(this.ClipboardContent.Value, false);
}
}
函数粘贴内容(){
document.getElementById('ClipboardContent')。value=document.execCommand('copy');//window.clipboardData.getData('Text');
返回(真);
}
var elem3=document.getElementById(“elem”);
document.addEventListener(“单击”),函数(){
document.getElementById(“demo”).innerHTML=“Hello World”;
});
elem3.addEventListener('copy',函数(e){
e、 预防默认值();
如果(例如剪贴簿数据){
e、 setData('text/plain','click中的自定义内容');
}else if(window.clipboardData){
window.clipboardData.setData('Text','customcontent from click');
}
});
受保护的重写void OnInit(EventArgs e){Page.ClientTarget=“uplevel”;base.OnInit(e);
}
C#代码:
受保护的无效重新加载CTL_单击(对象发送方,事件参数e)
{
如果(!string.IsNullOrEmpty(this.ClipboardContent.Value))
{
DataTable dt1=DataMapper.GetDataTable(this.ClipboardContent.Value,false);
}
}
因为剪贴簿数据
未定义。@Kamo我应该如何定义它?可能是重复的,请告诉我在引用上述代码时是否有任何问题。
Aspx code:
<head>
<script language="javascript" type="text/javascript">
function pasteContent() {
document.getElementById('ClipboardContent').value = document.execCommand('copy');// window.clipboardData.getData('Text');
return (true);
}
var elem3 = document.getElementById("elem");
document.addEventListener("click", function () {
document.getElementById("demo").innerHTML = "Hello World";
});
elem3.addEventListener('copy', function (e) {
e.preventDefault();
if (e.clipboardData) {
e.clipboardData.setData('text/plain', 'custom content from click');
} else if (window.clipboardData) {
window.clipboardData.setData('Text', 'custom content from click');
}
});
</script> <script runat="server">
protected override void OnInit(EventArgs e) { Page.ClientTarget = "uplevel"; base.OnInit(e);
}
</script>
</head>
<body>
<asp:Button ID="ReloadCtl" runat="server" Text="Paste" OnClick="ReloadCtl_Click"
OnClientClick="return pasteContent();" />
<asp:HiddenField ID="ClipboardContent" runat="server" ClientIDMode="Static" /> </body>
C# Code:
protected void ReloadCtl_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.ClipboardContent.Value))
{
DataTable dt1 = DataMapper.GetDataTable(this.ClipboardContent.Value, false);
}
}