JS 防止重复提交】的更多相关文章

JS 防止重复提交表单 利用flag自定义设置,缺点就是当页面有很多类似操作时,每次需要一个 方法二: var newtime = 0; function sub(){ var Today = new Date(); var Hour = Today.getHours(); var Minute = Today.getMinutes(); var Second = Today.getSeconds(); var nowtime = (Hour*3600) + (Minute*60) + Seco…
应用情景 经典使用情景:js的一些事件,比如:onresize.scroll.mousemove.mousehover等: 还比如:手抖.手误.服务器没有响应之前的重复点击: 这些都是没有意义的,重复的无效的操作,设置对整个系统的影响还可能是致命的,所以我们要对重复点击的事件进行相应的处理! 节流函数 所谓的节流函数顾名思义,就是某个时刻限制函数的重复调用. 同样节流函数也是为了解决函数重复提交的问题,而防止重复提交的方法,不止节流函数一种实现. 方法汇总 本文整理了我在工作实践当中,觉的防止j…
beforeSend: function () { // 禁用按钮防止重复提交 $("#fileForm a[class='btn blue_btn']").removeAttr("onclick"); }, complete: function () { $("#fileForm a[class='btn blue_btn']").attr("onclick","save()"); }, 利用以上类似的写…
var addFlag = true; function addQuestion(){ if(!addFlag){ return; } addFlag = false; //执行更新操作 jQuery.ajax({ type:'post', url:requestUrl, data:{ }, datatype:'json', success:function(data){ console.log(data.msg); addFlag = true; } }); } 通过设置标志防止重复提交…
/*分享按钮*/ var flag = true; $(".recommed a").click(function() { if (flag == true) { getServergainNumber(); flag = false; } })…
if (checkSubmitFlg == true) { console.log("禁止频繁操作.."); layer.close(ide); return false; } console.log("执行核心业务.."); //执行代码 checkSubmitFlg = true; setTimeout(function() { checkSubmitFlg = false; }, 5000);…
第一种:用flag标识,下面的代码设置checkSubmitFlg标志: 复制代码代码如下: <script language=""javascript""> var checkSubmitFlg = false; function checkSubmit(){ if(checkSubmitFlg ==true){ return false; //当表单被提交过一次后checkSubmitFlg将变为true,根据判断将无法进行提交. } checkSu…
第一种:用flag标识,下面的代码设置checkSubmitFlg标志: <script language="”javascript”"> var checkSubmitFlg = false; function checkSubmit(){ if(checkSubmitFlg ==true){ return false;             //当表单被提交过一次后checkSubmitFlg将变为true,根据判断将无法进行提交. } checkSubmitFlg…
第一种:用flag标识,下面的代码设置checkSubmitFlg标志: <script language="”JavaScript”"> var checkSubmitFlg = false; function checkSubmit(){ if(checkSubmitFlg ==true){ return false;             //当表单被提交过一次后checkSubmitFlg将变为true,根据判断将无法进行提交. } checkSubmitFlg…
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 1.什么是表单重复提交 > 在不刷新表单页面的前提下:         >> 多次点击提交按钮        >> 已经提交成功, 按 "回退" 之后, 再点击 "提交按钮".        >> 在控制器响应页面的形式为转发情况下,若已经提…
[参考博客:http://www.cnblogs.com/hdwpdx/archive/2016/03/29/5333943.html] springmvc 用拦截器+token防止重复提交 首先,防止用户重复提交有很多种方式,总体分为前端JS限制和后端限制,我个人认为后端限制比较妥当(本着能做到更优秀得理念,舍去了前端JS限制重复提交得想法). 之前没有做过防止用户重复提交,所以直接百度了一大堆,竟然发现基本上可以归为2到3种真正不同实现得代码,文章虽然有很多,不过大部分代码几乎都出自同一人,…
防止表单重复提交的方法总体来说有两种,一种是在js中阻止重复提交:另一种是在后台利用token令牌实现,大致思路是生成一个随机码放到session和form表单的隐藏输入框中,提交表单时两者对比,表单处理完毕清空或者修改session中的token. 在js中处理简单易懂,同时能解决我现在所做的项目中的问题,目前暂用js处理,后期如有需要再研究token机制.代码如下: 1.表单提交后禁用提交按钮(在本项目中表单提交完成后,如果处理成功都把form表单关掉了) /** * form表单格式验证通…
JS前端无侵入实现防止重复提交请求技术 最近在代码发布测试的过程中,我发现有些请求非常的消耗服务器资源,而系统测试人员因为响应太慢而不停的点击请求.我是很看不惯系统存在不顺眼的问题,做事喜欢精益求精,也很喜欢和别人争论技术,有时候硬要争得你死我活. 实在看不下去系统存在这个问题,下定决心好好整改一波,我们系统几乎都是使用Ajax技术发请求,使用的是针对我们系统特点对jQuery的post方法进行了封装的newpost方法,这个方法扩展了异常响应,登陆超时,token验证,加载时渲染等自动完成功能…
在登录页面html中写如下代码 <script type="text/javascript"> var issubmit=false; function dosubmit(){ if(issubmit==false){ issubmit=true; return true; }else{ return false; } } </script> </head> <body> <form action="/Day07/Form…
<script type="text/javascript"> var checkSubmitFlg = false; function checkSubmit() { if (!checkSubmitFlg) { // 第一次提交 checkSubmitFlg = true; return true; } else { //重复提交 alert("Submit again!"); return false; } } </script> //…
方法一. var flag = true; $(function() { $("#interested").click(function() { beInterested(); }); }); function beInterested() { //$("#interested").unbind("click"); if (!flag) { alert("已感兴趣!"); return; } if (flag) { var n…
如下一段代码: 先忽略我没引jquery.js的问题,这是一个案例. 当我们点击提交时,控制台输出两次e,在network里查看,可以看到我们的ajax传输了两次,造成了数据重复提交. 一种解释为button的type为submit,和type='button'不同,submit有自己的默认行为,也就是说当你点击了他之后,他就会进行提交,从而导致重复提交,而type=button需要进行 ajax的跳转才能实现提交功能.所以解决办法,就是将submit换成button. 但是我是jquery创建…
如果服务器响应慢的情况下,用户会重复提交多个表单,这时候有两种设计思想: 1.在客户端使用JS技术,禁止客户重复提交表单.但是这样会使一些不使用浏览器方式登陆的人比如使用底层通信来攻击你的服务器 2.在服务器端进行验证 Struts2设计了token标签来进行验证,在使用token时要注意,你点击两次之后,它会回到"invalid.tonken"那个页面,这时如果你使用回退的方式或者F5方式再次提交,会被拦截 使用token的方法: 1.在需要使用验证的的form标签里面,加入<…
web前端开发中防治重复提交 web前端数据请求或者表单提交往往通过对dom的点击事件来操作,但是往往因为认为点击过快(少年手速挺快的嘛),或者因为响应等待使得用户误人为没操作而重复很多次点击,造成表单数据的连续重复提交,造成用户体检的不好,甚至影响到整个系统的安全性.而前端的防治重复提交至少很有效的防治了人为正常操作下的很多不必要麻烦.下面就来讲讲如何有效避免前端的表单重复提交 表单提交有以下几种方式: <form name="form" method="post&q…
参考文档 1.生成Token的参考文档.http://www.cnblogs.com/TianFang/p/3180899.html 2.主要参考文档.http://www.cnblogs.com/xdp-gacl/p/3859416.html 实验的思路在js页面用在一个循环中执行多次post请求,然后看后来的输出 相关代码 controller里面 @RequestMapping(value = "/savebook") public void saveBook(HttpServl…
在提交表单的时候,可能遇到网速等导致页面突然加载变慢,用户重复地点击提交按钮,将在数据库产生多条数据,导致不可控情况. 比如下面的情况就会导致表单重复提交: 点击提交按钮两次. 点击刷新按钮. 使用浏览器后退按钮重复之前的操作,导致重复提交表单. 使用浏览器历史记录重复提交表单. 浏览器重复的HTTP请求. 网页被恶意刷新. 下面是几种解决的方法: 一:利用js设置按钮点击后变成灰色 $(document).ready(function(){ $(input:submit).click(){ s…
.提交按钮置disabled 当用户提交后,立即把按钮置为不可用状态.这种用js来实现. 提交前代码如下: $()  {  $exec="insert into student (user_name) values ($username)";  mysql_query("SET NAMES gb2312");  mysql_query($exec, $link); //若没有此用户则将数据插入到数据库(注册用户)  echo "用户注册成功!";…
遇到过一种情况,点击提交按钮的时候,在IE下重复提交,而在其他浏览器下正常. 原因:button按钮不设置type时,在IE下被浏览器默认解析为type="submit",用js提交时,导致重复提交. 方案:设置type="button"…
项目用到js了,首选jquery,能用库用库,原则. 碰到重复提交的问题,禁止住才行.百度google,还是Google给力. 知乎上有个高人,总结了四种,利用Jquery .post方法返回jqXHR对象,调用State()判断状态来做,这个是比较好的.需要注意的是1.5以上才行,我直接1.9搞起了.原来1.4用不了,1.4返回的是xhttprequest啥的,不好使. 直接转文章吧,自己码字也不如人家好. http://www.zhihu.com/question/19805411 长天之云…
Web页面中经常碰到这类问题,就是客户端多次点击一个按钮或者链接,导致程序出现不可预知的麻烦. 客户就是上帝,他们也不是有意要给你的系统造成破坏,这么做的原因很大一部分是因为网络慢,点击一个操作之后,系统响应慢,于是点击多次.如果我们遇到这种情况, 也许是一样的操作方法,所以解决问题才是王道. 废话不多说,直接切入正题. 方法一:在客户端制作一个遮罩层. 即用js和css制作一个纯白色或者黑色的遮罩的div,当客户端点击按钮时,弹出这个div并覆盖在当前用户界面之上, 这样遮罩层下面的内容被屏蔽…
我们大家再进行web开发的时候,必不可少会遇见表单重复提交问题.今天就来给总结如何解决表单提交问题,欢迎大家交流指正. 首先我们在讨论如何解决表单重复提交问题之前先来解决三个问题:1.什么叫表单重复提交?2.什么情况下会出现表单重复提交?3.什么情况需要避免表单重复提交? 什么叫表单提交问题,说白了,就是同一份信息,重复的提交给服务器. 那么,在什么情况下回产生表单重复提交的情况呢? 给大家列举以下情况: 1.点击F5刷新页面:当用户点击submit将已经写好的表单数据提交到服务器时,可以在浏览…
公司测试提了一个项目后台在IE浏览器下(360,firefox就没问题)出现数据重复的问题,调试了好久终于发现问题所在,也不知道是谁写的代码,醉醉的.... 错误地点: <input type="submit" value="提交"  class="btn"  id="formSubmit" onclick="checkForm()"  /> type类型写成submit,而在checkForm…
php解决表单重复提交时间:2015-2-28 | 评论:1条评论 | 被查看了 189 次 | 标签:php, W3cui重复提交是我们开发中会常碰到的一个问题,除了我们使用js来防止表单的重复提交,同时还可以使用php来防止重复提交哦.<?php/** php中如何防止表单的重复提交*/session_start();if (empty($_SESSION['ip'])) {//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库$_SESSION['ip'] = $_SERVE…
第一种方法:javascript控制.缺点,一般用户使用没问题,但是懂点js的还是可以强行重复提交.而且,后退再提交,你也没啥办法.第二种方法:服务器控制.后台生成一个token,存入session或者其他缓存里面.渲染表单时,给form一个隐藏的token(令牌).用户提交表单时:先判断表单里面的token是否存在,不存在拒绝接受此数据:如果存在token,判断此表单里的token是否和session里的token一致,如果不一致,拒绝处理数据:如果一致,处理表单,并从session里移除此t…
重复提交的定义: 重复提交指的是同一个请求(请求地址和请求参数都相同)在很短的时间内多次提交至服务器,从而对服务器造成不必要的资源浪费,甚至在代码不健壮的情况还会导致程序出错. 重复提交的原因或触发事件: [场景一]一次请求处理过慢,用户等不及点了多次提交按钮. [场景二]提交请求之后,用户又多次点了刷新按钮或者点了回退 [场景三]同时打开了多个窗口提交数据. 重复提交的解决方案: 对于[场景一] 可以通过JS在用户点击按钮之后立即disable按钮,让他不能点. 如果是ajax提交的方式,那可…