我现在正在做一个打印的功能。
   用的就是IE自带的那个打印的。
   
   需求:
        客户那边提供表格(未填的资料单),在电脑中输入数据后,点击打印只打印输入的数据,表格那些则不需要打印出来。(类似打印话费单)。        我现在做的就是把表格跟数据一起都打印出来了。
        有点问题的就是打印出来后跟客户提供的表格对不上。页面的宽度那些老是调不准。
        我在打印之前把不是输入的值的文字设置成白色了,但是一点打印预览还是会有那些字。唉。
  
   我想问:关于JS的打印,能否只打印input里面的值?
           或者说关于只打印输入的数据 有什么好的解决方案吗?大家一起讨论讨论,希望有好的解决方案。   

解决方案 »

  1.   

    可以打印前将表格的borderwidth设为零再打印。
      

  2.   


    问题是表格里面还有字的噢 。那些字也不需要打印的比如:
    <table width="251" border="1" cellpadding="1" cellspacing="0" bordercolor="#3333CC">
          <tr>
            <td height="35" colspan="2" align="center"><pre>单</pre></td>
          </tr>
          <tr>
            <td width="66" height="28" align="left"><span class="STYLE3">客户名称</span></td>
            <td width="153" height="28" align="left"><input name="txtCustomerTwo2" id="txtCustomerTwo2" type="text" class="inputC" /></td>
          </tr>
          <tr>
            <td height="28" align="left"><span class="STYLE3">商品名称</span></td>
            <td height="28" align="left"><input name="txtGoodsTwo2" id="txtGoodsTwo2" type="text" class="inputC" /></td>
          </tr>
          <tr>
            <td height="28" align="left"><span class="STYLE3">司称员</span></td>
            <td height="28" align="left"><input name="txtMemberTwo2" id="txtMemberTwo2" type="text" class="inputC" /></td>
          </tr>
          <tr>
            <td height="28" align="left"><span class="STYLE3">主管</span></td>
            <td height="28" align="left"><input name="txtManagerTwo2" id="txtManagerTwo2" type="text" class="inputC" /></td>
          </tr>
        </table>
    像客户名称那些都不用打的
      

  3.   

    可以自己组织一下要打印的。或者可以用xslt和xml来转换要打印的内容
      

  4.   

    写一个css专门用于打印好了。 这个可以不用js搞定。css不是有个media="print"的属性么。
      

  5.   

    看LZ是把不需要打印的内容引用了class="STYLE3"
    也就是你所说的把字体变成白色吧
    CSS有个打印样式设置,你可以这样写: <style type="text/css" media="print">
    .STYLE3
    {
      visibility: hidden;
      border: 0;
    }
    </style>至于说对齐和页面宽度设置,建议你使用绝对长度单位,如mm。看你提供的代码,没有使用单位,默认是px,这样电脑的分辨率等设置会影响其实际打印宽度的。
      

  6.   

    不需要用到js 用css样式控制就可以
    css 中打印验收控制 你可以不需要打印的地方设置clss 然后class样式统一控制 打印的时候就会出来掉你不想打印出来的class的
    media="print"