window.print()

window.print()想必webnd比较常用的功能了。直接window.print()会打印整个页面的元素,包括按钮等。

通常情况下,我们需要的是打印指定的页面及里面的数据。下面给出亲测可用的代码。

//打印
    function printReport() {
        //搞定 input 和 可输入的div  -- (html() 或者 innerHTML 获取不到 输入框的值)
        $("input,div .EditDiv").each(function(){
            $(this).attr('value',$(this).val());
        });
        //搞定 textarea
        $("textarea").each(function(){
            $(this).html($(this).val());
        });
        bdhtml  = window.document.body.innerHTML;
        sprnstr = "<!--startprint-->"; //开始打印标识字符串有17个字符
        eprnstr = "<!--endprint-->"; //结束打印标识字符串
        prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17); //从开始打印标识之后的内容
        prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr)); //截取开始标识和结束标识之间的内容
        window.document.body.innerHTML = prnhtml; //把需要打印的指定内容赋给body.innerHTML
        window.print(); //调用浏览器的打印功能打印指定区域
        //window.document.body.innerHTML = bdhtml;//重新给页面内容赋值;
        setTimeout(location.reload(), 2000);
    }

解决打印内容内输入框无法获取到值的问题。

完善: - 页面<style> </ style>标签内加入以下代码,去除打印的页眉页脚及链接信息

/*去除 打印 的页眉页脚 及 链接信息*/
        @page {
            size: auto;  /* auto is the initial value */
            margin: 0mm; /* this affects the margin in the printer settings */
        }

补充:(指定位置进行分页打印,在分页处加上下面代码即可)

<div style="page-break-after: always">
    </div>

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值