2

PHP ページにテーブルがあります。請求書です。アイテムを追加してから印刷したいのですが、コーディング部分はすでに完了しており、すべてが正常に機能しています。

ここで、ボタンを押してその請求表を紙に印刷したいだけです。Googleで検索しましたが、それを行う手がかりは見つかりませんでした。

誰でも私を助けることができますか?

これは右側の私のテーブルです。左側のフォームに入力されているので、右側のテーブルを印刷したいだけです:

ここに画像の説明を入力

4

4 に答える 4

6

これは、jQuery のようなものにとってはあまりにも些細な状況であるため、プレーンな Javascript を使用する必要があります。これをページのどこかに配置して、機能するかどうかを確認します。

<a href="javascript:void(0);" onclick="printPage();">Print</a> 

<script type="text/javascript">
 function printPage(){
        var tableData = '<table border="1">'+document.getElementsByTagName('table')[0].innerHTML+'</table>';
        var data = '<button onclick="window.print()">Print this page</button>'+tableData;       
        myWindow=window.open('','','width=800,height=600');
        myWindow.innerWidth = screen.width;
        myWindow.innerHeight = screen.height;
        myWindow.screenX = 0;
        myWindow.screenY = 0;
        myWindow.document.write(data);
        myWindow.focus();
    };
 </script>​​​​​​

ここでデモを見ることができます: http://jsfiddle.net/Pxqtb/

于 2012-07-22T06:11:04.713 に答える
6

これを試してください:

idテーブルに属性を追加するyour_content

アンカー タグを配置します。

   <a href="javascript:void(0);" id="printPage">Print</a> 

そしてスクリプトを追加します:

このスクリプトは、最初にテーブル内のコンテンツの印刷プレビューを表示します。

 <script lang='javascript'>
 $(document).ready(function(){
  $('#printPage').click(function(){
        var data = '<input type="button" value="Print this page" onClick="window.print()">';           
        data += '<div id="div_print">';
        data += $('#your_content').html();
        data += '</div>';

        myWindow=window.open('','','width=200,height=100');
        myWindow.innerWidth = screen.width;
        myWindow.innerHeight = screen.height;
        myWindow.screenX = 0;
        myWindow.screenY = 0;
        myWindow.document.write(data);
        myWindow.focus();
    });
 });

スクリプト部分をコピーして、ページの上部に配置します。[アンカータグの上] の印刷リンクを好きな場所に配置します。また、jquery スクリプト ファイルが含まれていることを確認してください。

于 2012-07-22T04:57:20.770 に答える
2

私はこのコードを使用し、私の問題を解決しました。私を助けてくれてありがとう....

function printlayout() {
     var data = '<input type="button" value="Print this page" onClick="window.print()">';           
       var DocumentContainer = document.getElementById('printlayout');
        //data += $('printlayoutable').html();
        //data += '</div>';
var WindowObject = window.open('', "TrackHistoryData", 
                              "width=740,height=325,top=200,left=250,toolbars=no,scrollbars=yes,status=no,resizable=no");           
 WindowObject.document.writeln(DocumentContainer.innerHTML);
  //WindowObject.document.writeln(DocumentContainer.innerHTML);
        WindowObject.document.close();
        WindowObject.focus();
        WindowObject.print();
        WindowObject.close();
于 2012-07-22T07:03:34.873 に答える
1

いくつかのオプションがあります。(1) 請求書だけで新しい HTML ページを作成すると、ユーザーはブラウザの印刷能力を使用してそのページを印刷できます。(2) または、作成した請求書ドキュメントをユーザーがダウンロードして印刷できるようにすることもできます。window.print();(3) #1 と組み合わせてJavaScript コマンドを使用できます。これを見てください。

于 2012-07-22T04:48:38.643 に答える