7

我有一个包含 div 的模式弹出窗口。我有一个按钮让用户打印该 div 的内容。window.print 打印整个页面。如何只打印 div 的内容。

谢谢。

4

3 回答 3

8

使用这个脚本

<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)

于 2013-04-16T10:06:20.433 回答
5

这段代码可以帮助你..

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>
于 2013-04-16T10:12:43.607 回答
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。

来源:微软论坛:http ://forums.asp.net/t/1261525.aspx/1

于 2013-04-16T09:46:26.920 回答