通过JavaScript/jQuery打印html

Har*_*rsH 1 html javascript jquery html5 jquery-ui

我希望通过传递自定义HTML代码来打印文档.

我写的非工作代码:

function Clickheretoprint()
{
  var disp_setting="toolbar=yes,location=no,directories=yes,menubar=yes,"; 
      disp_setting+="scrollbars=yes,width=780, height=780, left=100, top=25"; 
  var content_vlue = document.getElementById("result_tbl").innerHTML; 

  var docprint=window.open("","",disp_setting); 
  docprint.document.open(); 
  docprint.document.write('<html><head><title>Ashley Mattresses</title>'); 
  docprint.document.write('</head><body onLoad="self.print()"><center>');          
  docprint.document.write('<TABLE width="100%" cellpadding=10 align=center  valign="top"><TR valign="top"><TD width = "33%" valign="top">col1</TD><TD width = "33%" valign="top">col2</TD><TD width = "33%" valign="top">col3</TD></TR></TABLE>');     
  docprint.document.write('</center></body></html>'); 
  docprint.document.close(); 
  docprint.focus(); 
  docprint.close();
}
Run Code Online (Sandbox Code Playgroud)

这是我调用锚标记的href的方法,但没有完成工作:

<a href="javascript:Clickheretoprint()">
Run Code Online (Sandbox Code Playgroud)

我是JavaScript/jQuery编码的初学者.

Sha*_*ard 7

你走在正确的轨道上.假设result_tbl您希望按原样打印元素的ID,首先使用<div>标记包装元素,例如:

<div>
    <table id="result_tbl">
        .....
    </table>
</div>
Run Code Online (Sandbox Code Playgroud)

然后有这样的代码:

var docprint=window.open("about:blank", "_blank", disp_setting); 
var oTable = document.getElementById("result_tbl");
docprint.document.open(); 
docprint.document.write('<html><head><title>Ashley Mattresses</title>'); 
docprint.document.write('</head><body><center>');
docprint.document.write(oTable.parentNode.innerHTML);
docprint.document.write('</center></body></html>'); 
docprint.document.close(); 
docprint.print();
docprint.close();
Run Code Online (Sandbox Code Playgroud)

现场测试案例.

在Chrome 18下工作正常

打印正在工作