我有一个包含 div 的模式弹出窗口。我有一个按钮让用户打印该 div 的内容。window.print 打印整个页面。如何只打印 div 的内容。
谢谢。
使用这个脚本
<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 也应该有名字 (bill)
这段代码可以帮助你..
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>
尝试这个:
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。