<script type="text/javascript">
function sub(){
document.location.reload();
window.print();
}
</scriopt>
<input  type=button value=" 打  印 " onclick="sub();"/>
我想实现先刷新页面后再打印,我的页面的内容是从数据库里拿出来的,我怕有人在页面上误操作而改变打印出来的内容,所以想通过先刷新页面再打印,可我上面的方法打印出来的还是没刷新前的内容,请问怎么解决?

解决方案 »

  1.   

    不是很明白你的意思。看到你都有reload了。应该可以刷新 吧!不知道你的从数据库里取出来的数据,是不是都保存在session里?现在先做个简单的测试,你自己手动去刷新,能不能改变别人在页面上误操作的内容?
      

  2.   

    你可以先通过Servlet更新数据库中的数据,然后再在你要打印的页面访问数据库,数据不就更新了吗
      

  3.   

    是不是 刷新了后  延时下  
    估计是还没有刷新结束   你就把 window打印了  
      

  4.   

    你是怎么样子在页面上显示出来的?你多刷新几次,看一下是不是每次刷新,那页面的数据都不会改变?你用过了的session有没有关闭掉。
      

  5.   

    跟session没关系,我的意思就是想先刷新再打印,怎么做到先刷新再打印
      

  6.   

    <script type="text/javascript"> 
    function sub(){ 
    document.location.reload(); 
       setTimeout("window.print();",10000);} 
      

  7.   

    9楼的方法我刚才试过了
    不执行window.print();这句,所以不打印
    不知道为什么
      

  8.   

    不知道为什么一旦有document.location.reload(); 
    它就不执行setTimeout("window.print();",10000); 这句要去掉document.location.reload(); 后才能执行setTimeout("window.print();",10000); 这句
      

  9.   

    js除了setTimeout()还有其他的延时函数吗
      

  10.   

    <script type="text/javascript"> 
    function sub(){ 
      location.href='xxx.jsp'; 
      setTimeout("window.print();",10000); }