Jones: window.print() druckt leere Seiten

Beitrag lesen

Hallo,

ich habe eine HP auf der ich eine SVG Grafik darstelle,
nun will ich per window.print() die Seite mit dem SVG drucken,
das klappt auch wunderbar (das svg geht über die gesamte seite).
den Printbutton blende ich vorher via style.display="none" aus.
Jedoch werden immer 2 seiten gedruck, eine mit der svg grafik, die ander mit den nicht dargestellten buttons - also komplett leer.

zum besseren verständnis

die js funktion im header (b1 und b2 sind buttons)

//print BPL without print button
function printPage() {
var elem = document.getElementById('b1');
elem.style.display = 'none';
var elem1 = document.getElementById('b2');
elem1.style.display = 'none';
window.print();
elem.style.display = 'block';
elem1.style.display = 'block';
}

und der rest im body

<input id="b1" type="button" value="print" onClick="javascript:printPage()" >
<form id="lay1" style="display:block">
<div style="float: left; border: 1px solid silver;">
<embed id="SVGEmbed" style="display:block;background-color:#FFFFFF;" type="image/svg+xml" src="svg.svg" heigth="2000" width="2000"/>
</div>
</form>

Ich sags auch lieber gleich. Ohne den <form> tag wird nur eine seite gedruckt, allerdings verschwinded das svg auch mit den buttons.

danke für jede hilfe

Jones