2011-07-29 6 views
1

私はクライアント用のページを設計していますが、何らかの方法で印刷したいと思うdivの中に 'areaToPrint'というデータベーステーブルがあります。テーブルをフォーマットします。基本的な考え方は、javascriptを使用して、 'areaToPrint' .innerhtmlを、自分のCSS形式のファイルprinter.php内の 'printer'というdivに送信することです。メイン/親ページでjavadriptを使用して親divをポップアップdivに渡す

//私のスクリプト

<script> 
function printDiv() 
{ 
var divToPrint=document.getElementById('areaToPrint'); 
var newWin = window.open("printer.php"); 
newWin.document.getElementById('printer').innerHTML=divToPrint.innerHTML; 
newWin.print(); 
newWin.close(); 
} 
</script> 

Printer.php

<body> 
<div id="printer"></div> 
</body> 

内部// body要素IはareaToPrintの内容がpopupedでプリンタのdivを記入したいですprinter.php。 私は

newWin.document.write(divToPrint.outerHTML) 

のようなものを使用して同様の作業を行うことができた。しかし、私はdivの内部テーブルCSS形式にできるようにしたいです。 (このリンクにはJavaScriptがあります)

JavaScriptエラーについてのご意見はありますか?あなたが動的に(例えば相互作用に基づいて、ビジュアルスタイルを変更)javscriptでテーブルをフォーマットするために欠けている場合を除き

答えて

1

たぶんjQueryのは

$(this).parent() 
$("someone").css() 
$("someone").addClass() 
0

と参考になります。最も簡単な方法は、printer.phpビューテンプレートにスタイルシートを含めることです。

<html> 
    <head> 
     <link rel="text/css" media="print" href="css/print.css" /> 
    </head> 
    <body> 
     <div id="printer"></div> 
    </body> 
<html> 
+0

はい、それは私のプリンタでそれを行う方法です。私はちょうどヘッドブロックを含めなかった。私の問題は、Javascriptを実行してプリンタのdivに対処する方法です。 –

+0

その場合、私はそれがあなたの求めるものであるか正確には分からないが、あなたはそれにCSSスタイルを追加する方法を知りたいと言っている。どうぞご理解ください。 – AshHeskes

+0

私は自分自身を不明瞭にしてしまったらすみません。メインページにdivの内容を取り込み、新しいウィンドウprinter.phpを開き、プリンタのdivをその内容で埋めたいと思います!私は、outerHTMLを書くことができますが、私は私のCSS形式を失う。 –

関連する問題