在一个页面中打印一个多表的表

时间:2016-01-30 05:43:12

标签: javascript php

我有一个包含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>

1 个答案:

答案 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是您要选择的表的索引,并打印所需的表。然后你可以从那里继续。

希望它有所帮助。