注册的时候需要发送验证激活帐号的邮件,为了避免邮件的多次重复发送,所以可以在点击了发送后,设置button要过一段时间才能继续点击。下面是一个简单的例子: 代码如下: 点击获取验证码按钮后按钮变灰,倒计时一段时间后又可重复点击 var wait=60; function time(o) { if (wait == 0) { o.removeAttribute("disabled"); o.value="免费获取验证码"; wait = 60; } else { o.setAttribute("disabled", true); o.value=wait+"秒...
第一种:用flag标识,下面的代码设置checkSubmitFlg标志: 代码如下: var checkSubmitFlg = false; function checkSubmit(){ if(checkSubmitFlg ==true){ return false; //当表单被提交过一次后checkSubmitFlg将变为true,根据判断将无法进行提交。 } checkSubmitFlg ==true; return true; } ……….. 第二种:在onsubmit事件中设置,在第一次提交后使提交按钮失效,代码如下: 代码如下: 因为程序源码跟WIN2000的注册表...
/** * * @authors Benjamin * @date 2013-11-13 10:16:59 */ 一、常见的重复提交问题 a>点击提交按钮两次。 b>点击刷新按钮。 c>使用浏览器后退按钮重复之前的操作,导致重复提交表单。 d>使用浏览器历史记录重复提交表单。 e>浏览器重复的HTTP请求。 二、防止表单重复提交的方法 a>禁掉提交按钮。表单提交后disabled现在的按钮或者取消该按钮的点击事件或者默认事件。这种方法防止心急的用户多次点击按钮。但有个问题,如果在...
代码如下:$(document).ready(function() { $(form).submit(function() { if(typeof jQuery.data(this, "disabledOnSubmit") == undefined) { jQuery.data(this, "disabledOnSubmit", { submited: true }); $(input[type=submit], input[type=button], this).each(function() { $(this).attr("disabled", "disabled"); }); return true; } else { return false; } });});
在submit()后加个return false就可以了。如: 代码如下: document.formname.submit(); return false; 以后要注意了 后面尝试了另一种方法: 代码如下: if ($("#formid").validationEngine("validate")){ document.getElementById("formid").submit(); } 也是可以的
一般来说有两个原因: 1、第一种是没有取消绑定,例如$("#test").unbind("click");$("#test").click(function(){....}); 2、是因为在不同的页面多次引用同一个js文件,这样也有可能会造成重复提交请求。
var wait = 60; function change() { $o = $("#J_refresh_checkcode"); if(wait == 0) { $o.removeAttr("disabled"); $o.html("看不清?换一张"); wait = 60; } else { $o.attr("disabled", true); $o.attr("font-color", "gray"); $o.html(wait + "秒后可重新获取"); wait--; if(wait == 59) { var imgNode = document.getElementById("vimg"); imgNode.src = "t=" + (new Date()).valueOf(); // 这里加个时间的参数...
在网页设计中,可能由于某种需求,需要禁止浏览器的后退按钮,特别是一些对用户操作比较严格的网站,如果用户重复提交事件,然后又后退,这样可能会对某些数据产生灾难性的问题。所以今天就向大家介绍一种通过location.replace禁止浏览器后退按钮的方法。 这种方法的原理是,用新页面的URL替换当前的历史纪录,这样浏览历史记录中就只有一个页面,后退按钮永远处于失效状态,用户也就无法进行后退了。具体的使用方法如下所示: ①比...
防止重复表单提交 #refresh{ display: none; width:200px; height:20px; background-color: #ff0; } var inprocess = false; window.onload = function(){ document.forms["picker"].onsubmit = validateSubmit; document.getElementById("refresh").onclick = startOver; } function validateSubmit () { // 防止重复的表单提交 if (inprocess) return; inprocess = true; console.log(inprocess); document.getE...
代码如下: function preventAjax(obj,num){obj.disabled = true;var num = num;var types =obj.type;if(types == submit){var text = obj.value;var time1 = setInterval(function(){obj.value = num;num--;if(obj.value <= 0 ){clearInterval(time1);obj.disabled = false;obj.value = text;}},1000);}else{var text = obj.innerHTMLvar time1 = setInterval(function(){obj.innerHTML = num;num--;if(obj.innerHTML <= 0 ){clear...
在提交表单数据时,提交按钮为 submit 类型,以layui为js框架时,会重复提交表单数据,为防止这一情况,有效的做法是: 在<form>里面,加上 lay-filter="formConfig" , οnsubmit="return false" , 其中 “formConfig” 为自定义,然后在 提交的按钮事件内: form.on("submit(formConfig)",function(data){return false;}); 具体做法: 1、在form 里面:<form class="layui-form" id="addform" name="addform" lay-filter="formCon...
背景前端在向后端进行数据提交的时候,通常会需要在第一次提交返回前,阻止用户在快速点击发送二次请求,即防止重复提交,最简单的方法是使用标志参数或者 class 元素控制,但缺点是,每个控制重复提交的地方都需要加上这个逻辑,重复性太强,且控制逻辑不统一。目前前端使用的是http协议,所以提交方式为两种 异步提交,使用jQuery.ajax()form 表单同步提交下面这篇文章将给大家详细介绍关于这两种方法实现的方法示例,下面话不多...
这个其实是一个很细节的问题。 如果我们操作一个按钮,然后在按钮点击的时候绑定事件。 事件分为两种情况: ?第一种: 不操作数据型 ?第二种: 操作数据型 <template><button @click="submit()" :disabled="isDisable">点击</button> </template> <script>export default {name: TestButton,data: function () {return {isDisable: false}},methods: {submit() {this.isDisable = truesetTimeout(() => {this.isDisable = false}, ...
本文实例为大家分享了js防止表单重复提交实现代码,供大家参考,具体内容如下<DOCTYPE html><html><BODY BGCOLOR="#FFFFFF"><form name=formsubmitf id ="the" method="post" action="XXX.php"><input type=hidden name=mypretime value=0><input type="button" value="写好了" name="button1" class="4round" onclick=formsubmit()></form><script Language=JavaScript>function formsubmit() {Today = new Date();var NowHour = ...
第一种情况:提交完表单以后,不做其他操作,直接刷新页面,表单会提交多次。 - 在servlet中写一句输出,用来判断是否提交多次System.out.println("已经插入"); request.getRequestDispatcher("/login_success.jsp").forward(request, response);- 这样的话,刷新多少次,就会在控制器显示多少个“已经插入”。- 根本原因:Servlet处理完请求以后,直接转发到目标页面,这样整个业务只发送了一次请求,那么当你在浏览器中点击刷新会...