请教大家:
    在一个jsp页面中,显示了一些基本文字信息,在页面底部"打印"按钮的下面我放置了n个iframe(由该页的附件个数而定),并设置iframe的高和宽都为0,达到隐藏的目的,我要实现的是点击"打印"按钮,打印该jsp页后,再依次单独打印iframe里面的内容,以下是我写的jsp页面,但是没有打印iframe的内容,而是重复的打印jsp页里的文字信息,哪位高手帮帮忙,急用啊.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<script Language="JavaScript">
function aa(attach_size){
//alert(attach_size);
var i;
for(i=0;i<attach_size;i++){
//document.getElementsByName("attach"+i).window.print();
//document.getElementById("attach"+i).window.print();
//eval("attach"+i).window.print();
parent.frames["attach"+i].print();
}
}
</script>
<body>
<form action="fwg.jsp" method="post">
<div id="main">
<div class="line">
<div id="tit1">发文稿纸</div>
<div id="tit2">R-{ISMS-B002A/0}-6</div>
</div>
<table border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="5" ><p>签发:</p>
      <p>&nbsp;<%=qfyj%></p></td>
    <td colspan="3"><p>会签意见:</p>
      <p>&nbsp;<%=hqyj%></p></td>
  </tr>
  <tr>
    <td width="10%" height="40">主办部门</td>
    <td width="16%" >&nbsp;<%=dm.getDepart( (String)(ht.get("BMID")) )[2]%> </td>
    <td colspan="3">撰稿人</td>
    <td width="17%" >&nbsp;<%=um.getUser( (String)(ht.get("RYID")) )[4]%></td>
    <td width="17%" >审核意见</td>
    <td width="16%" >&nbsp;<%=shyj%></td>
  </tr>
  <tr>
    <td colspan="3" height="40">文件标题</td>
    <td colspan="2">&nbsp;<%=StringUtil.trim((String)ht.get("FWBT"))%></td>
    <td colspan="2">发文编号</td>
    <td>&nbsp;<%=StringUtil.trim((String)ht.get("FWBH"))%></td>
  </tr>
  <tr>
    <td colspan="5" height="40">文件附件名称</td>
    <td colspan="3">&nbsp;<%=(String)ht.get("FWMS")%></td>
  </tr>
  <tr>
    <td colspan="5" height="40">发送单位</td>
        <td colspan="3">&nbsp;<%=fsdw%></td>
  </tr>
  <tr>
    <td height="40">打印人</td>
    <td>&nbsp;</td>
    <td colspan="3">校对人</td>
    <td>&nbsp;<%=checker%></td>
    <td>打印分数</td>
    <td>&nbsp;<%=(String)(ht.get("YFFS"))%></td>
  </tr>
  <tr>
    <td colspan="3" height="40">封发人</td>
    <td colspan="2">&nbsp;</td>
    <td colspan="2">封发日期</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="8" height="300" align="left" valign="top">正文:<br>&nbsp;&nbsp;&nbsp;&nbsp;如文
    
      </td>
  </tr>
</table>
<!--取得附件的地址,并放在iframe里,设置iframe的高和宽都为0,达到隐藏的目的,当有附件的时候,点击打印按钮后会在弹出打印附件的界面,点打印即可 -->
<% 
//取得附件的地址,iframe引用,并以FrameName.window.print()的方式打印该附件;
AttachFile attachfile = new AttachFile();
List attachfilelist = attachfile.FJList(request.getParameter("fwid"),"T_FW");

if(attachfilelist!=null){
int attach_size = attachfilelist.size();
%>
<input type="hidden" name="attach_size" value="<%=attach_size%>"> <div id="no_print">
<input type="button" name="Submit" value="打 印" class="SmallButton" onClick="javascript:print();javascript:aa(<%=attach_size%>)">
<input type="button" name="Submit" value="关 闭" class="SmallButton" onclick="javascript:window.close()"/>
</div>
<% 
  for(int j=0;j<attachfilelist.size();j++){
 Object[] os = (Object[])attachfilelist.get(j);  
 out.println("<table>");
 out.println("<tr>");
 out.println("<td>");
 out.println("<Iframe name='attach"+j+"' src='"+os[3]+"' height='100' width='600'");
 out.println("</iframe>");
 out.println("</td>");
 out.println("</tr>");
         out.println("</table>");
  }
}
%>
</div>
</form>
</body>
</html>

解决方案 »

  1.   

    你把你的打印函数用到iframe的那个页面去啊
      

  2.   

    你是说我应该把aa()这个函数写在iframe里吗?可是iframe里不是一个页面,而是上传的附件,大部分都是.doc和.pdf格式的文件,
      

  3.   

    对啊 我要打印这些文件,用户的要求是打印完基本信息后,要把附件的内容也打印出来,所以我想把附件的内容以iframe的方式放在同一个页面中,并隐藏起来,但是点打印按钮的时候是同时打印iframe内容的,现在是只打印出基本信息,没有打印iframe里的内容,帮忙解决一下,一定加分