2011-07-29 8 views
1

Je suis en train de concevoir une page pour un client et j'ai une table de base de données dans un div appelé 'areaToPrint' que je veux imprimer d'une manière ou d'une autre, et je veux pouvoir css formater la table. L'idée de base est d'utiliser le javascript pour envoyer le « areaToPrint'.innerhtml à un div appelé « imprimante » dans mon fichier formated printer.php css.Passage de div div à popup div en utilisant javascript

// Mon script dans la page principale/mère

<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> 

// élément de corps à l'intérieur Printer.php

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

Je veux que le contenu de areaToPrint pour remplir l'imprimante div dans le popuped printer.php. j'ai pu faire une tâche similaire en utilisant quelque chose comme

newWin.document.write(divToPrint.outerHTML) 

Mais je veux être en mesure de format css la table à l'intérieur du div. (Le javascript est appelé avec un lien)

Toutes les suggestions sur javascript faulties?

Répondre

1

Peut-être que jQuery serait utile avec

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

Sauf si vous êtes désireux de formater dynamiquement la table avec javscript (par exemple modifier les styles visuels basés sur l'interaction). Le plus simple serait d'inclure une feuille de style dans votre modèle de vue printer.php.

par exemple.

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

Oui, c'est comme ça que je le fais dans mon imprimante. Je n'ai pas inclus le bloc de tête. Mon problème est comment faire le Javascript et adresser la div d'imprimante. –

+0

Dans ce cas, je ne sais pas exactement ce qu'il est votre demander, vous questionnez dit que vous voulez savoir comment ajouter un style CSS à elle. Pouvez-vous clarifier s'il vous plaît. – AshHeskes

+0

Je suis désolé si je me suis rendu flou. Je veux prendre le contenu d'un div sur ma page principale, ouvrir une nouvelle fenêtre et printer.php de remplir son imprimante div avec ce contenu! Je peux faire une écriture outerHTML, mais ensuite je perds mon format CSS. –