2011-06-21 12 views
1

「すべてのレポートを印刷」ボタンを使用して、5つの異なるURLを一度に印刷できます。 URLとwindow.print()ごとにすべてのコードを作成し直さなければならない新しいページにリダイレクトさせることなく、それを行う方法はありますか?いくつかの異なるページを印刷するPHP

答えて

1

私はあなたが露出している方法があらゆる角度から良いと思います。 5つのURLのすべてのコードを印刷する別のページを持って、window.print()関数を呼び出して印刷ダイアログを開きます。

もしそうでなければ、5つの異なるURLすべての出力を取得するためにajaxを使用し、ユーザーがボタンをクリックしたのと同じページにダンプする必要があります。しかし、私はこのアプローチに反対するだろう。なぜなら、ページに戻る能力を失ってしまい、ブックマークしてしまうとユーザーがだまされる可能性があるからだ。

+0

印刷のためにページを送信した後、新しい内容を削除することができます。 – mihsathe

0

ブラウザを使用して、5つのURLのうち1つのURLを生成するスクリプトを作成し、これを使って各HTMLからHTMLを分離します。

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

ユーザーは、あなたの1つのURLを印刷し、5つの情報を持つことができます。

+0

あなたは正しく理解していないと思うので、彼は一度に1ページを見たいと思っていますが、各ページですべてを印刷するボタンが必要です。 – Vadiklk

1

あなたが望むなら、5ページすべてのAJAXコンテンツを1ページにまとめて準備ができたら、その1ページを印刷できます。あなたはjQueryのを使用している場合、それは次のようになります。あなたはjQueryのを使用したくない

(
    function(){ 
    $.ajax({url:"url1", success:function(resp){ 
    $("#mydiv").html(resp); 
    //make other similar calls for rest of the pages 
    //and in your last callback, call window.print()  
    }); 
    })(); 

場合でも、あなたは生のAJAXでそれを行うことができます。

+0

これは解決策ですが、ユーザーが印刷ボタンをクリックしてからロードするまで待たなければならないことを意味します。ほとんどのユーザーは、クリックしなかったと思って、もう一度や何かをクリックします。彼がクリックする機会がある前にロードすることについては、各ページが5倍速くロードされる+私の基本的な解決策がより良いと思うので、それは良くありません。 – Vadiklk

+0

この方法は明らかにコード量を最小限に抑えます。混乱しているユーザーについては、問題がある可能性があります。しかし混乱を避けるためにロードするまで、見栄えの良い「Loading ...」ダイアログを表示する方法はたくさんあります。 – mihsathe

関連する問題