轉載:http://www.nethai.net/ShowArticle.asp?ArticleID=311
JAVA的列印有很多介紹,目前可以實現純文字的列印了,包括在java的應用程式中和applet都可以很好的工作,列印控制也基本能滿足要求.這一部份一下子無法說得詳細.
很多菜菜菜菜菜菜菜菜菜菜菜菜菜到不能再菜的鳥,其實是在IE中實現列印,非說是什麼JSP,JAVA的列印,我建議這些同志們先不要學編程,還是瞭解一下最基礎的東西.
至於在IE中列印,javascript只能做到列印頁面.如\r
<html>
<a href= javascript:print()>print</a>
<table>
111111111
</table>
222222222
這樣是列印了所有內容,那麼如果列印頁面中任何一個表格或元素呢?
我們要列印任何一個元素,就要先定位它,也就是有很多表格我們要打哪個?
當然只要給它一個name或ID,就行了.比如\r
<table id=a1>
<tr><td>1111</td><tr>
</table>
<table id=a2>
<tr><td>2222</td><tr>
</table>
現在要列印a1的內容,當然要包括
<table id=a1>
<tr><td>1111</td><tr>
</table>
如果取到這些值?
a1.innerHTML就不能包括<table id=a1>自己了.你alert(a1.innerHTML)就會是<TBODY><TR><TD>11111</TD></TR></TBODY>
這當然不對.那麼要從它外面取它的內容,a1.parentElement.innerHTML,它的parentElement是body,而body的innerHTML又不是我們要的,所以要在我們要
的元素外加一個封裝,比如\r
<span>
<div>都行,它只把
<table id=a1>
<tr><td>1111</td><tr>
</table>包起來,那麼
<table id=a1>
<tr><td>1111</td><tr>
</table>的parentElement.innerHTML就是自己了.如\r
<span>
<table id=a1>
<tr><td>1111</td><tr>
</table>
</span>
<span>
<table id=a2>
<tr><td>2222</td><tr>
</table>
</span>
這時alert(a1.parnetElement.innerHTML)
看到的就是
<table id=a1>
<tr><td>1111</td><tr>
</table>
正是我們要列印的內容,那如果把它列印出來啊?
fp=window.open("",aname,"top=2000000,.....")
fp.document.write(a1.parnetElement.innerHTML);
fp.document.write("<"+"script> print(); </" +"script>");
fp.location.reload();
fp.close();
就是說把當前要列印的內容寫到另外一個頁面中,這個頁面中僅有你要列印的內容,javascript還是列印全頁,但正是你想要的.剛寫進去時新面中的列印不會執行,要reload一下頁面.打完後關了它,就這樣了,下課.