0

私は、コンテンツを含む 5 つのポップアップ ウィンドウが表示される、単純な jQuery ベースの Web アプリケーション計算機を開発しています。しかし、最後にメインウィンドウの印刷ボタンをクリックすると、メインウィンドウの内容だけが印刷されます。しかし、ポップアップ ウィンドウのすべての内容をメイン ウィンドウと共に印刷する必要があります。Google で検索しましたが、有効な回答が得られませんでした。

ここに私の印刷機能があります:

 <SCRIPT LANGUAGE="JavaScript">
    if (window.print) {
       document.write('<form> ' + '<input type=button name=print value="Print" '
                        + 'onClick="javascript:window.print();"></form>');
    }
 </script> 
4

1 に答える 1

1

を呼び出すと JavaScript ポップアップ ウィンドウが閉じwindow.print()られるため、明らかにこの方法では出力されません。

さまざまな形式でそれを行うことができますが、それらすべてについて、おそらく印刷ボタンのonclickイベント用の関数を作成する必要があります。

最も簡単な方法は、5 つのポップアップの html をドキュメントの下部にある非表示の div 内にコピーして、JQuery を介してコピーし、その div で.html()を呼び出して.show()から を送信し、そのwindow.print()直後に div を非表示にすることです。

印刷ボタンの onclick イベントの関数は次のようになります。

function printpage()
{
    $('#hiddendiv').html($('#popupContact_1').html() + '<br />' +  $('#popupContact_2').html() + '<br />' +  $('#popupContact_3').html() +  '<br />' + $('#popupContact_4').html() + '<br />' +  $('#popupContact_5').html());
    $('#hiddendiv').show();
    window.print();
    $('#hiddendiv').hide();
}

この関数を試す前に、ドキュメントの下部に div を作成し、印刷ボタンの onclick イベントで関数id=hiddendivstyle="display:none"呼び出すことを忘れないでください。printpage()=)

.show()また、ポップアップ div ごとに を呼び出し$('.a').show()てページの絶対位置に配置する.eachこともできます.print()

于 2012-05-13T09:22:51.280 に答える