需求:1。我把真实发票放到打印机上
2.我做一个模板于真实发票一样,但是我现在在输入数据时候,在ie b/s结构下调用打印机,如何能只把值对应的写到真实发票上,而不是页面模板。
例子:
                        页面模板A     -----    实体发票<table>                                           发票开头:数据B(只打印数据,格式不需要打印)
<td>发票开头: </td>
<td>自己输入数据B</td>
...
</table>等待高人解答

解决方案 »

  1.   


    <html>
    <head>
    <title>测试打印</title>
    <script language="javascript">
    //发票打印
    function invoicePrint(){
    var td1 = document.getElementById("td1");
    var oldtd1 = td1.innerHTML;//innerHTML注意大小写
    td1.innerHTML="";
    partOfPrint();
    td1.innerHTML="发票开头: ";
    } //部分打印
    function partOfPrint() {
    var bdhtml=document.body.innerHTML;
    var prnhtml=bdhtml.substr(bdhtml.indexOf("<!--startprint-->")+17);
    prnhtml=prnhtml.substring(0,prnhtml.indexOf("<!--endprint-->"));
    document.body.innerHTML=prnhtml;
    window.print();
    document.body.innerHTML=bdhtml;
    }
    </script>
    </head>
    <body>
      <!--startprint-->
    <table>
    <tr>                                     
    <td id="td1">发票开头: </td> 
    <td>自己输入数据B </td> 
    </tr>
    </table>
    <!--endprint-->
    <button onClick="invoicePrint()">打印</button>
    </body>
    </html>基本原理就这样了,你改改应该差不多吧。
      

  2.   

    打印完后,有时候改回数据那个执行不了,这样改。
    //发票打印
    function invoicePrint(){
    var td1 = document.getElementById("td1");
    var oldtd1 = td1.innerHTML;//innerHTML注意大小写
    td1.innerHTML="";
    partOfPrint();
    //td1.innerHTML="发票开头: ";
    } //部分打印
    function partOfPrint() {
    var bdhtml=document.body.innerHTML;
    var prnhtml=bdhtml.substr(bdhtml.indexOf("<!--startprint-->")+17);
    prnhtml=prnhtml.substring(0,prnhtml.indexOf("<!--endprint-->"));
    document.body.innerHTML=prnhtml;
    window.print();
    document.body.innerHTML=bdhtml;
    var td1 = document.getElementById("td1");
    td1.innerHTML="发票开头: ";
    }