我有一个包含3个或更多表的php页面。 我需要打印它们。我有一个javascript代码用于打印一个适用于具有一个表的页面的表,但是如果我有两个或更多表,当我单击打印按钮时,只会打印第一个表。 任何人都可以帮我打印第二张或第三张桌子吗? 这是我的javascript代码:
<script type="text/javascript">function printPage(){
var tableData = '<table border="1" dir="rtl">'+document.getElementsByTagName('table')[0].innerHTML+'</table>';
var data = '<button onclick="window.print()">Print this page</button>'+tableData;
myWindow=window.open('','','width=800,height=600');
myWindow.innerWidth = screen.width;
myWindow.innerHeight = screen.height;
myWindow.screenX = 0;
myWindow.screenY = 0;
myWindow.document.write(data);
myWindow.focus();
};
</script>
这是我的打印链接代码:
<a id="print" href="javascript:void(0);" onclick="printPage();">print</a>
答案 0 :(得分:0)
我认为这可能有助于你了解一下。我没有测试过,因为我没有任何具体的数据可供使用。但要检查一下,看看它是否有效。
function printPage(){
var tableData = '';
for (var i = 0; i < document.getElementsByTagName('table').length; i++){
tableData = tableData + '<table border="1" dir="rtl">'+document.getElementsByTagName('table')[i].innerHTML+'</table>';
}
var data = '<button onclick="window.print()">Print this page</button>'+tableData;
myWindow=window.open('','','width=800,height=600');
myWindow.innerWidth = screen.width;
myWindow.innerHeight = screen.height;
myWindow.screenX = 0;
myWindow.screenY = 0;
myWindow.document.write(data);
myWindow.focus();
}
这将附加所有表格,并允许您打印所有表格。
但是如果你想选择一个你想要打印的表,那么有不同的方法可以做到这一点,例如保留3个与3个表连接的链接,或者调出一个带有选择选项的窗口。你需要的桌子。无论哪种方式,您都可以更改上述功能,以便将表的索引值传递给printPage()
函数,如下所示:
function printPage(t){
tableData = '<table border="1" dir="rtl">'+document.getElementsByTagName('table')[t].innerHTML+'</table>';
var data = '<button onclick="window.print()">Print this page</button>'+tableData;
myWindow=window.open('','','width=800,height=600');
myWindow.innerWidth = screen.width;
myWindow.innerHeight = screen.height;
myWindow.screenX = 0;
myWindow.screenY = 0;
myWindow.document.write(data);
myWindow.focus();
}
此处t
是您要选择的表的索引,并打印所需的表。然后你可以从那里继续。
希望它有所帮助。