`
y150988451
  • 浏览: 198546 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

打印时隐藏按钮及其他信息方法

    博客分类:
  • html
阅读更多
web打印是困扰很多web开发人员的问题。有很多人提出了不同的web打印解决方案,还有很多的商业报表设计器来帮我们(需要付费的,我想很多人不想花这个钱),本文不会讨论这个问题。如果大家对于web打印各种解决方案感兴趣,可以阅读上文,或者到互联网上搜索。这方面对文章很多。

本文将提供给大家一个在普通ie打印的情况下,如何在打印的报表中省略掉我们不希望看到的东西,保留想要看到的东西,而对于用户来说又是透明的,这样的一个解决方案。
方案如下:

首先应该养成良好的写程序的习惯,就是将各部分都分别包装起来,一般用span或者div,比如:

<html> 
<span id="span1"> 
…… 
</span> 
<span id="span2"> 
…… 
</span> 
</html> 


假如我们不想打印span2中的内容,在页面上添加这样一段javascript程序:

<script> 
//-----   下面是打印控制语句   ---------- 
window.onbeforeprint=beforePrint; 
window.onafterprint=afterPrint; 
//打印之前隐藏不想打印出来的信息 
function beforePrint() 
{ 
span2.style.display='none'; 
} 
//打印之后将隐藏掉的信息再显示出来 
function afterPrint() 
{ 
span2.style.display=''; 
} 
</script>  




这样,当用户打印本页的,打印的纸张上,就看不到span2中的内容。而用户根本感觉不到。


更具上面的一个小例子,我们可以有了一点入门了吧,我们只要合理的分割包装整个页面,我们就可以灵活的控制整个页面的打印输出。如果我们在页面上设计了打印按钮,只要这样写就可以了:
<a href="#" onclick="beforePrint();window.print();afterPrint();">打印</a> 

  另外如果我们想把查询的表格中的某列或某行省略掉可不可以呢?答案是肯定的,不过我们需要做更多的工作,假如我们要隐藏一列。例子代码如下:


<table cellspacing="0" border="1" bordercolor="#000000" class="tableBorder2" cellpadding=0    width="100%"> 
       <tr height="25"> 
         < td valign="center" align="left" name="op_TD" width="18%" class="noticetitle" background ="../../images/topbg.gif">&nbsp;操作</td>         
         < td valign="center" align="left" width="12%" class="noticetitle" background ="../../images/topbg.gif">&nbsp;车型</td> 
                                                </tr> 
                         
         <tr> 
          <td height="23" align="left" class="inputstyle"   name="op_TD" > 
           & nbsp;<a href="cj_forward_mx.asp?cx=CCK231&cj_code=E900&cj=锻工车间&next_gx=锻" target="_blank">明细</a> 
           &nbsp; <a href="cj_forward_card.asp?cx=CCK231&to_cj_code=E900&to_cj= 锻工车间&t_money=840&next_gx=锻" target="_blank">单据</a> 
           </td> 
          <td height="23" align="left" class="inputstyle"> 
           &nbsp;CCK231</td> 
     </tr>     
         <tr> 
          <td height="23" align="left" class="inputstyle"   name="op_TD" > 
           & nbsp;<a href="cj_forward_mx.asp?cx=CCK231&cj_code=C430-2&cj=国凯公司&next_gx=工" target="_blank">明细</a> 
           &nbsp; <a href="cj_forward_card.asp?cx=CCK231&to_cj_code=C430-2&to_cj =国凯公司&t_money=630&next_gx=工" target="_blank">单据</a> 
           </td> 
          <td height="23" align="left" class="inputstyle"> 
           &nbsp;CCK231</td> 
          
         </tr>         
     <tr height="23"> 
                             <td colspan="2" align="right">合计:907,620.00</td> 
                        </tr>                   
      <tr height="30"><td align=right id="aPrint"> 
          <a href="#" onclick="beforePrint();window.print();afterPrint();">打印</a> &nbsp; 
      </td></tr></table> 

这段代码中,我们在想要隐藏的那个列的td中都添加了 name="op_TD" ,把下面的javascript代码加入到本页面内,就可以控制name为 op_TD 的所有td在打印时都隐藏起来。代码如下:


<script> 
//-----   下面是打印控制语句   ---------- 
window.onbeforeprint=beforePrint; 
window.onafterprint=afterPrint; 
//打印之前隐藏不想打印出来的信息 
function beforePrint() 
{ 
     var opTDS=document.getElementsByTagName('TD'); 
     for(var i=0;i<opTDS.length;i++) 
     { 
         if(opTDS[i].name=='op_TD')opTDS[i].style.display='none'; 
     } 
     aPrint.style.display='none';  //隐藏打印按钮 
} 
//打印之后将隐藏掉的信息再显示出来 
function afterPrint() 
{ 
     var opTDS=document.getElementsByTagName('TD'); 
     for(var i=0;i<opTDS.length;i++) 
     { 
         if(opTDS[i].name=='op_TD')opTDS[i].style.display=''; 
     } 
      aPrint.style.display='';   //显示打印按钮 
} 
</script> 
分享到:
评论

相关推荐

    js 进行打印控制 打印时隐藏按钮

    根据给定文件的信息,本文将深入探讨如何使用JavaScript来实现网页打印时的元素隐藏功能,并进一步解析相关的技术细节。 ### 知识点一:JavaScript控制打印 #### 1.1 理解`window.onbeforeprint`与`window....

    打印不显示打印按钮及获取其他属性

    在这个问题中,用户可能遇到的情况是,当尝试打印网页时,预期出现的打印按钮没有显示出来,同时可能还有获取其他打印相关属性的需求,如页眉、页脚、页面范围等。 首先,我们需要理解打印按钮通常是通过JavaScript...

    pdf.js使用demo(已解决隐藏打印下载等按钮)

    此外,除了隐藏按钮,你还可以自定义 PDF.js 的其他行为。例如,通过监听 PDF.js 的事件,你可以实现自定义的进度条、书签功能,甚至与后端服务交互以实现动态加载 PDF 文档。 总的来说,PDF.js 提供了一个强大的 ...

    FlashPaper 隐藏左上角商标及打印按钮

    直接覆盖掉 X:\Program Files\Macromedia\FlashPaper 2\Interface下的DefaultViewer2.swf即可,一劳永逸! 具体定制过程可参见我的Blog:http://blog.csdn.net/liuyuhua0066/article/details/6603493

    FlashPaper2.2 去除打印和复制按钮的模板

    不过FlashPaper2.2其自带的SWF模板文件提供了打印和复制的按钮,对于有些应用需要屏蔽打印及复制则无法屏蔽,我在网上找了好久,终于通过各种资料的查阅,首先用Sothink SWF Decompiler将模板文件"DefaultViewer2....

    fastreport 预览打印工具按钮的控制

    FastReport预览打印时,可以控制它工具栏上的按钮是否可以显示。如:导出,发邮件,打印按钮等等。

    pdf.js使用demo,(已解决资源跨域访问,隐藏打印下载等按钮)

    由于谷歌浏览器停止对flash的支持,所以项目中用到的pdf预览插件需要更换。对比比较以后选择的pdf.js。在文件跨域访问上花费了很长时间,走...下载和打印按钮的隐藏处理相对简单粗暴直接把view.html工具栏的div隐藏即可

    打印的JS方法

    在探讨“打印的JS方法”这一主题时,我们首先应当明确的是,JavaScript作为一种广泛应用于网页开发的脚本语言,提供了多种方法来实现网页内容的打印功能。本文将深入解析一种常见的打印JS方法,并通过示例代码来阐述...

    隐藏office web app打印和在word中打开功能

    在企业环境中,使用Office Web App作为文档预览工具时,可能会遇到需要隐藏某些功能的需求,例如打印和在Word中打开等功能。这通常是出于安全考虑或者是为了提供更加简洁的用户界面。本文将详细介绍如何通过简单的...

    javascript经典特效---最简单的打印按钮.rar

    在本案例中,我们关注的是"最简单的打印按钮",这是一个常见的网页功能,允许用户方便地打印网页内容。下面将详细介绍如何使用JavaScript实现这个功能。 首先,我们需要在HTML页面中创建一个按钮元素,通常使用`...

    web打印的三种方法

    直接浏览器打印是最基础的Web打印方式,用户只需在浏览网页时点击浏览器工具栏上的“打印”按钮或使用快捷键(如Ctrl+P)即可启动打印过程。这种方法简单易用,适用于大多数情况。浏览器会自动处理页面布局,包括...

    web打印去掉页眉页脚,以及不想打印出的页面元素

    这段代码会在打印时隐藏`&lt;header&gt;`和`&lt;footer&gt;`标签内的内容。当然,如果你的页眉和页脚不在这些特定标签内,你需要替换为实际包含它们的元素。 除了页眉和页脚,如果想要隐藏页面上的特定元素,也可以使用`display...

    jsp 浏览器中直接打印的方法

    这里的`onclick`事件绑定了一段JavaScript代码`window.print()`,该方法会在用户点击按钮时触发浏览器的打印对话框,从而打印当前页面的所有内容。 为了进一步优化打印效果,可以使用CSS媒体查询来控制打印样式。...

    JS实现打印两方法.txt

    2. **调用`window.print()`方法**:当用户点击打印链接时,JavaScript代码中的`window.print()`方法会被执行,从而触发浏览器的打印对话框。 ```javascript window.print(); ``` 这种方式的优点在于其简单性和...

    Jsp页面中实现打印打印预览及打印设置

    - 使用 `.NOPRINT` 类可以让某些元素(如打印按钮)在打印时不显示出来,这对于提高打印效果很有帮助。 - 示例:`.NOPRINT { display: none; }` **2. 分页设置** - 通过 `.PageNext` 类可以实现在需要分页的地方...

    打印js方法

    在用户点击一个按钮或者触发某个事件时,可以通过调用`window.print()`方法来启动浏览器的打印对话框,让用户选择打印机、设置打印选项,然后开始打印。例如,你可以创建一个HTML按钮并绑定一个JS事件处理函数: ``...

    页面实现预览和打印(页面整体打印和局部打印)

    在网页开发中,预览和打印功能是必不可少的,尤其对于提供信息展示或者报表的网站。本主题将详细探讨如何在HTML和JSP页面中实现这两种功能,包括整体页面的预览和打印以及局部元素(如表格和文档)的处理。 首先,...

    js打印WEB页面与打印预览

    JS打印WEB页面与打印...我们可以使用不同的方法来实现这个功能,例如使用CSS隐藏不打印内容、指定打印区域、使用新窗口打印等。同时,我们也可以使用JavaScript来控制打印设置,例如选择打印机、纸张大小、页边距等。

Global site tag (gtag.js) - Google Analytics