日期:2014-05-18  浏览次数:20677 次

如何解决点击两次提交按钮所早成的错误?谢谢
当我点两次提交按钮的时候会出现错误页面?
请问如何解决?

------解决方案--------------------
1.你可以写一段javascript代码,弄一个变量,初始化化是0,提交按钮一点,就变为1,只要不是0就不允许刷新或第二次提交,但因为javascript可以被客户端禁用,我通常不会用这种方法;
2.如果你用Struts了,可以使用其中的同步令牌机制,实现防止表单重复提交;
3.以上两种方法都比较麻烦,但都是比较标准的做法!如果程序不是很重要,并且像我一样比较懒,那么你可以在表单提交之后,使用response.sendRedirect( " ");进入提交之后的页面,而不使用 <jsp:forward> 或者Struts的ActionForward转发,这样即使刷新第二个页面,由于已经不在共享request范围内的数据,也不会产生重复提交!当然,如果你还担心如果服务器反应慢,表单所在的页面还没等重定向到新的页面,用户就第二次点击提交按钮,你可以配合javascript,只要表单的提交按钮被点击这一事件产生,就把提交按钮设置成不可用状态(doucment.form.submitButton.disabled=true),这样就应该没问题了!