Javascript asp.net如何打印动态表格
下面是我的动态表Javascript asp.net如何打印动态表格,javascript,asp.net,Javascript,Asp.net,下面是我的动态表 <div id="Print"> <asp:Literal ID="Literal1" runat="server"></asp:Literal> </div> 我放置了一个imagebutton来打印 <asp:ImageButton ID="ImageButton5" runat="server" ImageUrl="~/Image/Print_Icon_Design.jpg" Height
<div id="Print">
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</div>
我放置了一个imagebutton来打印
<asp:ImageButton ID="ImageButton5" runat="server"
ImageUrl="~/Image/Print_Icon_Design.jpg" Height="25px"
Width="27px" style="margin-left:20px" OnClientClick="CallPrint"/>
我有下面的代码要打印,但它不工作,你能帮我吗
<script language="javascript" type="text/javascript">
function CallPrint(Print) {
var prtContent = document.getElementById(Print);
var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0');
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
</script>
函数调用打印(打印){
var prtContent=document.getElementById(打印);
var WinPrint=window.open(“”,“”,’left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0’);
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
print.print();
跳过函数的参数打印并添加更改getElementById
var prtContent = document.getElementById('Print');
您需要将
Print
放在引号内,您的函数缺少最后一个花括号。
此外,您不需要Print参数(因为您不是从ImageButton传入它,而是已经在使用getElementById()检索它了):
试试这个
<script language="javascript" type="text/javascript">
function CallPrint() {
var prtContent = document.getElementById('Print');
var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0');
WinPrint.document.open();
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
return false;
}
</script>
函数CallPrint(){
var prtContent=document.getElementById('Print');
var WinPrint=window.open(“”,“”,’left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0’);
WinPrint.document.open();
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
print.print();
返回false;
}
及
返回false到OnClientClick将阻止回发prtContent.innerHtml将为null,因为您使用的是打印而不是“打印”
function CallPrint() {
var prtContent = document.getElementById('Print');
var htmlcontent = prtContent.innerHTML;
var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0');
WinPrint.document.write(htmlcontent);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
}
我已更正,但仍不起作用尝试在图像按钮中添加参数:OnClientClick=“CallPrint('somevalue')”,因为您的js函数只有一个参数。我用括号更正了它,但它仍然没有做任何事情,任何想法。代码很好,应该可以工作。javascript控制台中有任何错误吗?您能显示完整的HTML输出吗?现在它可以工作了,但我有另一个问题,问题是一个文本指示我的动态表,但打印输出只是wtih我拿不到我的桌子设计图。你能帮我吗
<asp:ImageButton ID="ImageButton5" runat="server"
ImageUrl="~/Image/Print_Icon_Design.jpg" Height="25px"
Width="27px" style="margin-left:20px" OnClientClick="return CallPrint()"/>
function CallPrint() {
var prtContent = document.getElementById('Print');
var htmlcontent = prtContent.innerHTML;
var WinPrint = window.open('', '', 'left=0,top=0,width=400,height=400,toolbar=0,scrollbars=0,status=0');
WinPrint.document.write(htmlcontent);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
}