使用javascript打印仅html表

时间:2015-04-13 16:54:27

标签: java html printing

我有以下带有Java功能的基本html表只能打印表格内容但是点击时打印按钮什么都不做,我想可能是java编码是问题,但是它不起作用我可以得到第三对请帮忙的眼睛

<html>
<body>

<table border="1" cellpadding="3" id="printTable">
    <tbody><tr>
        <th>First Name</th>
        <th>Last Name</th>      
        <th>Points</th>
    </tr>
    <tr>
        <td>Jill</td>
        <td>Smith</td>      
        <td>50</td>
    </tr>
    <tr>
        <td>Eve</td>
        <td>Jackson</td>        
        <td>94</td>
    </tr>
    <tr>
        <td>John</td>
        <td>Doe</td>        
        <td>80</td>
    </tr>
    <tr>
        <td>Adam</td>
        <td>Johnson</td>        
        <td>67</td>
    </tr>
</tbody></table>

<br />
<br />

<button>Print me</button>

<script>
function printData()
{
   var divToPrint=document.getElementById("printTable");
   newWin= window.open("");
   newWin.document.write(divToPrint.outerHTML);
   newWin.print();
   newWin.close();
}

$('button').on('click',function(){
printData();
})
</script>
</body>
</html>

3 个答案:

答案 0 :(得分:2)

使用javascript时,查看浏览器的控制台通常很有用。打开此页面后,我的错误是:

ReferenceError: $ is not defined

$是jQuery插入的全局变量。尝试添加

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

代码。这将包括jQuery库。

答案 1 :(得分:1)

Change this var divToPrint=document.getElementById("printTable");
to this var divToPrint=document.getElementById("<%=printTable.ClientID>");

and add jquery library <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

答案 2 :(得分:1)

对javascript函数的调用不正确。当您使用'$'符号时,这意味着您正在使用JQuery。您有两个选择:

1 - 将jquery库包含在您的页面中:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>

2 - 直接在'onclick'事件的按钮上调用javascript函数。这是您的最佳选择:

<button onclick="printData()">Print me</button>