一个home.jsp页面,提交后又返回该页面。页面为组件管理,分为左中右三栏显示。由于该页面数据多刷新比较慢,提交一次后没等页面刷新完毕又一次点击保存提交,这样该页面组件就会杂乱显示。有可能会全部显示到中间栏。系统全为servlet实现,没用到任何框架。请问高手有什么好的解决办法吗?

解决方案 »

  1.   

    在客户端解决
    2.<script language="javascript">    
    3.    var checkSubmitFlg = false;    
    4.    function checkSubmit() {    
    5.      if (checkSubmitFlg == true) {    
    6.         return false;    
    7.      }    
    8.      checkSubmitFlg = true;    
    9.      return true;    
    10.   }    
    11.   document.ondblclick = function docondblclick() {    
    12.    window.event.returnValue = false;    
    13.   }    
    14.   document.onclick = function doconclick() {    
    15.       if (checkSubmitFlg) {    
    16.         window.event.returnValue = false;    
    17.       }    
    18.   }    
    19.</script>   1.<html:form action="myAction.do" method="post" onsubmit="return checkSubmit();">  
    2.  
    3.Way Two : 将提交按钮或者image置为disable   
    4.<html:form action="myAction.do" method="post"    
    5.    onsubmit="getElById('submitInput').disabled = true; return true;">      
    6.<html:image styleId="submitInput" src="images/ok_b.gif" border="0" />    
    7.</html:form>  
      

  2.   

    楼上这样的代码我写过了,不行的。因为提交后返回该页面,相当于该页面已经刷新了,这样就无法判断checkSubmitFlg 这个标志位,也可以说每次提交它都是false。
      

  3.   

    楼上这样的代码我写过了,不行的。因为提交后返回该页面,相当于该页面已经刷新了,这样就无法判断checkSubmitFlg 这个标志位,也可以说每次提交它都是false。
    第一次提交后,把
    提交标志checkSubmitFlg =true放在session中
    js中取值:
    var checkSubmitFlg = “<%=session.getAttribute("checkSubmitFlg ")==null:"false":session.getAttribute("checkSubmitFlg ") %>”;
      

  4.   

    放入session不也一样吗,我也试过了。不行的。
      

  5.   

    ---免责声明:    
      1.本人过去、现在以及将来都不认识楼主及楼主所述当事人,且自古以来与该相对人无利益关系。    
      2.本人昨天、今天以及明天都没有或者不准备去主贴所述地点。楼主表述之事与本人无关。本着“看贴(虽然看不懂)回贴,利人利己的中华民族优秀传统美德”的原则敲击键盘,从而为“保增长、扩内需、调结构,促民生”作出贡献,进而使社会more and more 和谐,甚至促进世界much and much大同,做到为往圣继学,为万世开太平。    
      3.本人在此留言(包括但不限于汉字、拼音、拉丁字母、斯拉夫字母,日语假名,阿拉伯字母,单词、句子、图片、影像、录音,以及前述之各种任意组合等等)均为随意敲击键盘所出,用于检验本人电脑键盘录入、屏幕显示的机械、光电性能,并不代表本人局部或全部同意、支持或者反对楼主观点。如需要详查请直接与键盘发明者及生产厂商法人代表联系。    
      4.人生有风险,上网需谨慎。本回贴不暗示、鼓励、支持或映射读者作出生活方式、工作态度、婚姻交友、股票债券买卖、子女教育的积极或消极判断。未成年人请在监护人陪同下阅读本贴。无完全民事行为能力者,请立即关闭网页,并用20%高锰酸钾+75%乙醇对键盘、硬盘、电压插座、显示器、鼠标、cpu进行灌溉消毒。    
      5.如本人留言违反国家有关法律,请网络管理员及时删除本人跟贴。    
      6.因删贴不及时所产生的任何法律(包括宪法,加法、减法、乘法、除法、剑法、拳法、脚法、指法、民法,刑法,书法,公检法,基本法,劳动法,婚姻法,输入法,没办法,国际法,今日说法,吸星大法,与台湾关系法及文中涉及或可能涉及以及未涉及之法,各地治安管理条例)纠纷或责任本人概不负责。    
      7.本人谢绝任何跨省追捕行为。确因不抓不足以平民愤,或不抓就领不到薪水养家户口的公职人员,建议携带工作证、身份证、结婚证/离婚证、独生子女证、健康证、暂住证、毕业证、边防证、县以上**机关出具的介绍信温情操作。抓捕按照以下排序倒序:楼主、原作者以及网络管理员以及网络运行商、电信运营商、电力供应商、电脑生产销售商。    
      8.如回复内容导致楼主或第三方、第四方、第N次方怀孕,本人愿配合做亲子鉴定,谢谢    
      另:本人持有居住地三级甲等医院心血管科,心胸外科,精神科,神经内科,神经外科,遗传学科所出具有法律效力之健康证明,可证明本人无心脏病史及家族病史,无做噩梦病史及家族病史.同时还持有由本人小学、中学、山寨大学老师,班主任,院长,院*委书记,以及数十亲友共同签字证词,可证明本人素无参与或企图参与躲猫猫,弹脑门及任何可能危害生命健康的不良游戏之意向! 
      

  6.   

    在服务器端做呢
    在html.jsp中产生一个令牌值,将这个令牌值随表单发送到客户端,并将令牌值保存到session中,
    提交的时候判断session中保存的令牌值和请求参数中的令牌值是否相等,相等清除session中的令牌值,同时产生一个新的保存到session中,再提交的时候做相同判断就好了
    网上有很多例子的
    http://www.siruo.net.cn/pubnews/HTML/849.html