`
lancijk
  • 浏览: 388365 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

重复提交解决的几种方法

    博客分类:
  • JS
 
阅读更多

1:当然首选 token 但是当要做去效果的时候。可以用JS来实现
2:把按钮灰色了。直接obj.disable=true
3:这种方法是让整个页面的被一个div占据,中间给令一个去一直执行方框。显示正在保存,这个方法还可以用来输入用户名和密码。提交后redirect到这个页面的action就可以了。这个方法一直到该action结束才会结束。

<div id="savingPanel" align="center" style="z-index: 100000; display: none; top: 0; left: 0; filter: Alpha(Opacity=50); width: 100%; height: 100%; position: absolute; background-color: #B6CAFD;"></div>
<div id="savingText" align="left" style="z-index: 100000; padding-left: 8; display: none; top: 0; left: 0; height: 24; width: 168; position: absolute; background-color: #B6CAFD; border-style: solid; border-width: 1; border-color: #4A8CE2;">正在保存数据,请稍候......</div>
<script type="text/javascript">
var isSaving = false;
var savingPanel = document.getElementById("savingPanel");
var savingText = document.getElementById("savingText");
var count = 0;
function startShowDataIsSaving()//直接调用
{
	isSaving = true;
	savingPanel.style.display = "block";
	savingText.style.display = "block";
	showDataIsSaving();
	showDataIsSavingText();
}
function endShowDataIsSaving()
{
	isSaving = false;
	savingPanel.style.display = "none";
	savingText.style.display = "none";
}
function showDataIsSaving()
{
	if(isSaving)
	{
		savingPanel.style.height = document.body.scrollHeight;
	savingPanel.style.width = document.body.scrollWidth;
	savingText.style.top = document.body.scrollTop + document.body.clientHeight / 2 - 12;
	savingText.style.left = document.body.scrollLeft + document.body.clientWidth / 2 - 84;
	setTimeout(showDataIsSaving);
	}
}
function showDataIsSavingText()
{
	if(isSaving)
	{
		savingText.innerHTML = "正在保存数据,请稍候.";
		for(var i = 0; i < count; i++)
		{
			savingText.innerHTML += ".";
		}
		count++;
		count = count % 5;
		setTimeout(showDataIsSavingText, 150);
	}
}
</script>



0
0
分享到:
评论

相关推荐

    JSP_重复提交_解决方法

    下面详细介绍几种常用的防止重复提交的方法: ##### 方法1:使用HTTP头部控制 可以在JSP页面的`&lt;head&gt;`部分加入以下代码,通过设置HTTP头部来禁止浏览器缓存当前页面: ```html , must-revalidate"&gt; , 26 Feb 1997...

    防止Layui form表单重复提交的实现方法

    下面详细解释几种防止Layui表单重复提交的方法。 首先,在HTML表单中,为了避免在提交时页面刷新导致的重复提交,可以在标签中使用onsubmit="return false;"属性。这个属性的作用是在表单提交时返回false,阻止...

    Struts2解决表单重复提交

    Struts2作为一个流行的Java Web框架,为解决表单重复提交提供了多种方法。 首先,关于表单重复提交的原因,有以下几点: 1. 服务器或网络延迟导致用户多次点击提交按钮。 2. 用户在表单提交后刷新浏览器页面。 ...

    几种防止表单重复提交的方法

    以下是几种防止表单重复提交的策略,它们可以在不同的应用场景中发挥作用。 1. 禁用提交按钮 在表单提交之后,通过JavaScript使提交按钮变为不可用状态。这种方法简单,可以在用户提交表单后立即阻止他们再次点击...

    Servlet、Struts、SpringMVC对于表单重复提交的解决方案

    在Servlet中,通常采用几种方法来避免重复提交: 1. **Session状态管理**:在接收到用户提交请求后,可以在Session中设置一个标志,如"formSubmitted",然后在后续的请求中检查这个标志,如果已存在则忽略请求。 2...

    利用Token机制解决重复重复提交

    Token机制是一种常用的防止表单重复提交的技术方案。其基本思想是在用户提交表单时,服务器会生成一个唯一的Token并将其存储在客户端(如通过Cookie或隐藏字段),同时也会在服务器端存储一份。当用户提交表单时,...

    php解决和避免form表单重复提交的几种方法

    总结,PHP解决表单重复提交的方法多样,可以根据实际需求和应用场景选择合适的方法。JavaScript禁用按钮和Header函数跳转相对简单,但依赖客户端;Session和Cookie在服务器端处理,更安全,但可能受到客户端限制;...

    表单重复提交问题1

    要彻底解决表单重复提交的问题,有以下几种策略: - **禁用表单按钮**:在表单提交后,禁用提交按钮,防止用户点击多次。 - **使用POST/REDIRECT/GET模式**:在处理POST请求后,使用`sendRedirect()`重定向到一个新...

    Struts高级部分(1)(解决重复提交、上传组件)

    Struts通过几种策略来解决这个问题: 1. **令牌(Token)机制**:在用户提交表单时,服务器会生成一个唯一的令牌并将其存储在用户的会话(session)中,同时将令牌隐藏字段放入表单。当用户再次提交表单时,服务器...

    防止表单重复提交

    防止表单重复提交的常见策略有以下几种: 1. **客户端验证**:在JavaScript中,可以监听表单提交事件,一旦表单提交,禁用提交按钮,防止用户再次点击。但这种方法并不完全可靠,因为JavaScript可以被禁用,或者...

    Struts2防止重复提交的解决方案

    在Struts2框架中,防止重复提交可以通过以下几种方式实现: 1. **使用Token机制**: - 在表单中加入一个隐藏字段(如`&lt;s:token /&gt;`),每次提交表单时都会包含这个token值。 - 服务器端在接收到请求后会验证这个...

    php防止form重复提交的方法

    以下是几种常见的解决方法: 1. **客户端脚本控制**: 使用JavaScript可以有效地防止用户在提交表单后因刷新页面而再次提交。一种方式是在提交按钮的`onClick`事件中,将按钮禁用并改变其值,让用户知道提交正在...

    sturts2防止表单的重复提交 token

    总的来说,Struts2的Token机制是一种有效防止表单重复提交的方法,它通过生成和验证唯一标识来确保每个请求的唯一性,从而保护了业务的正确性和数据的一致性。在实际开发中,根据项目需求和安全策略,我们可以灵活...

    Java表单重复提交的避免方法

    重复提交的现象主要有以下几种情况: 1. 用户在网络不稳定时点击了多次提交按钮。 2. 提交成功后,用户刷新了成功页面(通常是通过HTTP的请求转发,forward)。 3. 提交成功后,用户点击浏览器的回退按钮,然后再次...

    php 防止表单重复提交两种实现方法

    本文将详细介绍PHP中防止表单重复提交的两种实现方法。 ### 前端解决方案 前端解决方案依赖于客户端的JavaScript以及CSS样式来实现。这种方法的优点是减少服务器的负担,缺点是安全性相对较低,因为客户端的代码有...

    ThinkPHP防止重复提交表单的方法实例分析

    本文将详细介绍几种在ThinkPHP中防止表单重复提交的方法,并分析其原理和实现。 1. 页面跳转法:这是最简单直接的方法,通过在表单提交后将页面重定向到一个新的地址,而不是返回原页面。这样用户即使点击了后退...

    truts2防止重复提交共2页.pdf.zip

    Truts2提供了几种防止重复提交的方法: 1. **令牌(Token)机制**:Truts2的令牌拦截器(TokenInterceptor)是常用的防御手段。它会在用户提交表单时生成一个唯一的令牌,将其存储在session中,并附加到表单隐藏...

    springboot防重复提交工具包

    这个名为"springboot防重复提交工具包"的资源很可能提供了一种解决方案,帮助开发者防止用户因网络延迟或其他原因导致的多次点击提交,从而避免数据库中的数据异常。 Spring Boot是基于Spring框架的轻量级开发工具...

Global site tag (gtag.js) - Google Analytics