我现在的做法是,第一次提交后,用div把页面罩起来,不让用户重复点击下载按钮。但是问题是,下载对话框,保存完毕之后,页面的没有被重载(onload),div罩子就去不掉了。请高手指教。在线等。

解决方案 »

  1.   

    一点下载按钮就disable掉下载按钮
      

  2.   

    你说的方法也行。但是问题是一样的。什么时候把按钮enable呢。
      

  3.   

    二次按钮确认就可以了,写一个JAVASCRIPT,然后用函数提交
      

  4.   

    在说明一下
    第一步,点击下载按钮,server开始组织数据,准备下载。客户端,无论什么方法,都是可以防止页面被再次提交的。
    第二步,server处理完毕,把数据往客户端IE response,ie 弹出保存对话框。
    第三步,用户保存完下载文件之后,如何把你用于控制多次提交的那个flag也好,disable也好,div也好,给去掉呢。我本想用页面的onload事件,但是发现这个事件是不触发的。
      

  5.   

    方法1通过js+css控制按钮,当点击一次的时候按钮为会色,同时无法再次点击
    方法2通过session处理.当第一次点击的时候将信息数据放到session中,后台得到session后将   其清空,当再次点击的时session为空,就判定为重复提交,不做任何处理.
    方法3若用的是struts,它有自带的处理机制.
    方法4你可以借鉴"令牌"机制,网上有很多相关资料.
      

  6.   

    方法1通过js+css控制按钮,当点击一次的时候按钮为会色,同时无法再次点击 。(页面不能再次刷新。按钮将始终为灰色)方法 error方法3若用的是struts,它有自带的处理机制.(同样需要刷新页面 )方法error
    方法4你可以借鉴"令牌"机制,网上有很多相关资料. 同方法3 error
      

  7.   

    用Action的
    saveToken 保存一个标识
    和isTokenValid进行检测是否是第一次提交表单。如果是,就下载数据
      

  8.   

    楼上,saveToken 和isTokenValid 必须页面刷新才能生成新的令牌。如果不刷新的话。页面上的按钮只能提交一次。因为生成的令牌没有刷新到页面上(文件下载页面不刷新)。所以页面再次提交的话isTokenValid 永远也验证不通过。
      

  9.   

    楼上,saveToken 和isTokenValid 必须页面刷新才能生成新的令牌。如果不刷新的话。页面上的按钮只能提交一次。因为生成的令牌没有刷新到页面上(文件下载页面不刷新)。所以页面再次提交的话isTokenValid 永远也验证不通过。
      

  10.   

    楼上的似乎都没有理解楼主的意思。
    我也遇到同样的问题,当下载文件的请求提交到一个隐藏的iframe中,文件被下载的时候,是不会触发iframe的onload事件的,而又需要在下载完毕后对页面进行js的处理,应该怎么办?