最近做到了web頁面課程表列印時,上網找了一些資料,最後使用了下面的方法實現了我需要的功能。將需要列印的課程表的table放入div標籤中,然後指定出需要列印的地區,最後調用window.print列印指定內容。
範例程式碼(代碼中有些內容已省略)
複製代碼 代碼如下:
function preview() {
bdhtml = window.document.body.innerHTML;
sprnstr = "<!--startprint-->";
eprnstr = "<!--endprint-->";
prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17);
prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));
window.document.body.innerHTML = prnhtml;
window.print();
}
上面的是javascript代碼,下面是html頁面代碼
複製代碼 代碼如下:
<div class="print">
<input type= "button" value= "列印課表" onclick= "preview()"/>
</div>
<div class="result">
課程表查詢結果
</div>
<center>本部分以下被列印</center>
<!--startprint-->
<div class="timetable">
<table id="table1" class ="tableresult"style="margin-left :auto;margin-right:auto;">
<tr >
<th> </th>
<th>星期一</th>
<th>星期二</th>
<th>星期三</th>
<th>星期四</th>
<th>星期五</th>
<th>星期六</th>
<th>星期日</th>
</tr>
<tr >
<th> 1,2 節</th>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td></td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td></td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td></td>
<td></td>
</tr>
<tr >
<th> 3,4 節</th>
<td></td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td></td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td></td>
<td></td>
</tr>
<tr >
<th> 5,6 節</th>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td></td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td>資訊技術<br>數信學院<br>501機房<br>生物專業</td>
</tr>
<tr >
<th> 7,8 節</th>
<td></td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td>大學資訊技術課<br>數信學院<br>501機房<br>生物專業</td>
<td></td>
<td></td>
</tr>
</table>
</div>
<!--endprint-->
<center>本部分以上被列印</center>