我有一个包含div的模态弹出窗口。我有一个按钮让用户打印该div的内容。 window.print打印整个页面。 如何只打印div的内容。
感谢。
答案 0 :(得分:6)
使用此脚本
<script language="javascript" type="text/javascript">
function CallPrint(strid) {
var prtContent = document.getElementById(strid);
var WinPrint = window.open('', '', 'letf=0,top=0,width=800,height=100,toolbar=0,scrollbars=0,status=0,dir=ltr');
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
WinPrint.close();
prtContent.innerHTML = strOldOne;
}
</script>
并从按钮
调用它 <asp:button id="BtnPrint" runat="server" onclientclick="javascript:CallPrint('bill');" text="Print" xmlns:asp="#unknown" />
你的div也应该有名字(账单)
答案 1 :(得分:2)
试试这个:
function printdiv(printpage)
{
var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>";
var newstr = document.all.item(printpage).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr+newstr+footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
}
printpage
参数是你的div id。
来源:Microsoft论坛:http://forums.asp.net/t/1261525.aspx/1
答案 2 :(得分:2)
这段代码可以帮助你..
HTML代码:
<div id="printarea">
//content you want to print
</div>
<input id="btnprint" type="button" onclick="PrintDiv()" value="Print" /></center>
这是javascript
<script type="text/javascript">
function PrintDiv() {
var divToPrint = document.getElementById('printarea');
var popupWin = window.open('', '_blank', 'width=300,height=400,location=no,left=200px');
popupWin.document.open();
popupWin.document.write('<html><body onload="window.print()">' + divToPrint.innerHTML + '</html>');
popupWin.document.close();
}
</script>