您的位置:首页 > Web前端 > JavaScript

关于jsp实现打印

2005-07-20 12:12 288 查看
转载: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一下页面.打完后关了它,就这样了,下课.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: