【发布时间】:2015-04-28 10:03:36
【问题描述】:
我的页面中有 3 个面板,我希望每个面板打印在不同的页面中,而不是在同一页面中。(我的意思是第 1 页的面板 1 和第 2 页的面板 2 和第 3 页的面板 3)。 现在发生的事情是第一个面板被打印出来,而面板 2 被打印在同一页上。 如何在不同的单独页面中打印每一个?
这是 JavaScript 代码:
<script type = "text/javascript">
function PrintPanel() {
var panel = document.getElementById("<%=Panel1.ClientID %>");
var panel2 = document.getElementById("<%=Panel2.ClientID %>");
var panel3 = document.getElementById("<%=Panel3.ClientID %>");
var printWindow = window.open('', '', 'scrollbars=yes, resizable=yes, width=800, height=500');
printWindow.document.write('<html><head><title>My Title</title>');
printWindow.document.write('</head><body >');
printWindow.document.write(panel.innerHTML);
printWindow.document.write(panel2.innerHTML);
printWindow.document.write(panel3.innerHTML);
printWindow.document.write('</body></html>');
printWindow.document.close();
setTimeout(function () {
printWindow.print();
}, 500);
return false;
}
</script>
【问题讨论】:
-
我更新了我的问题以获得代码
-
它们在同一个窗口中打开的事实是因为您对它们都使用了相同的
printWindow对象。因此,它使用相同的窗口来编写每个面板。做一个循环或制作单独的窗口对象并尝试。 -
但它会打开窗口 3 次,这是我不想要的!
-
那么这里的 3 个单独的页面是什么意思?
-
@user1947393,您是指打印机打印的不同页面吗?每个面板应该在不同的打印机页面上?
标签: javascript c# asp.net printing panel