JQuery脚本-通过禁用按钮防止表单重复提交
<script type="text/javascript">
/*
jquer 脚本,避免重复提交
隐藏点击的submit,后在他之后插入同名button伪装成被隐藏的submit
最后禁用全部可见的submit和button
最终效果:点击按钮提交表单后,点击后退按钮,返回提交表单页面,提交按钮已被禁用
注:此方法毕竟在客户端处理,防君子不防小人
*/
$(document).ready(function() {
$(":submit").click(function() {
$(this).hide();
$(this).after("<input type=\"button\" value=\"" + $(this).val() + "\">");
$(":submit:visible").attr("disabled", "disabled");
$(":button:visible").attr("disabled", "disabled");
alert($(this).val());
});
});
</script>
******************************************************************************************************
这里提供两种不同情况下的阻止重复点击解决方案。
1.按钮BUTTON类
2.<a>标签类
对于第一类情况,button有一个属性是disabled控制其是否可以点击,看代码:
<input type="button" value="Click"id="subBtn"/>
<script type="text/javascript">
function myFunc(){
//code
//执行某段代码后可选择移除disabled属性,让button可以再次被点击
$("#subBtn").removeAttr("disabled");
}
$("#subBtn").click(function(){
//让button无法再次点击
$(this).attr("disabled","disabled");
//执行其它代码,比如提交事件等
myFunc();
});
</script>
第二类情况,可以使用按钮或链接的click事件来执行预期的单击动作,然后将事件处理重定向,以阻止其余的点击。
<a href="javascript:;" onclick="return funcOne();">点击</a>
<scripttype="text/javascript">
function funcOne(){
//点击一次后把funcTwo赋给funcOne,funcTwo是一个什么也不执行的函数,因此再次点击不执行任何操作
funcOne=funcTwo;
alert("Clickthe button!");
return false;
}
function funcTwo(){
return false;
}
</script>
JQuery脚本-通过禁用按钮防止表单重复提交的更多相关文章
- 防止Web表单重复提交的方法总结
在Web开发中,对于处理表单重复提交是经常要面对的事情.那么,存在哪些场景会导致表单重复提交呢?表单重复提交会带来什么问题?有哪些方法可以避免表单重复提交? 表单重复提交的场景 1.场景一:服务端未能 ...
- java web学习总结(十三) -------------------使用Session防止表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...
- JavaWeb防止表单重复提交(转载)
转载自:http://blog.csdn.net/ye1992/article/details/42873219 在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用 ...
- JavaWeb---总结(十三)使用Session防止表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...
- [Java拾遗五]使用Session防止表单重复提交
申明:此文章属于转载, 转自博客: http://www.cnblogs.com/xdp-gacl/p/3859416.html在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没 ...
- java web 学习十三(使用session防止表单重复提交)
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...
- JavaWeb学习总结(十三)——使用Session防止表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...
- (转)JavaWeb学习总结(十三)——使用Session防止表单重复提交
如何防止表单重复提交 在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复 ...
- 使用Session防止表单重复提交
本文出处:http://www.cnblogs.com/xdp-gacl/p/3859416.html 在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以 ...
随机推荐
- Unity3D管网分析
给大家分享一下自己之前没事写的Unity3D的插件,主要用来对管网的搭建和分析, 开源在Github上 https://github.com/LizhuWeng/PipeNet,可以给需要的朋友做一个 ...
- 死磕Java之聊聊ArrayList源码(基于JDK1.8)
工作快一年了,近期打算研究一下JDK的源码,也就因此有了死磕java系列 ArrayList 是一个数组队列,相当于动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractLis ...
- cdq分治略解
前言 陌上花开,可缓缓归矣 --吴越王 寓意:意思是:田间阡陌上的花开了,你可以一边赏花,一边慢慢回来. 隐意:春天都到了,你怎么还没有回来.形容吴越王 ...
- java 文件硬盘存取 练习
读写文件操作 对字符流文件读写 1 写文件 FileOutputStream 节点类 负责写字节 OutputStreamWriter 转化类 负责字节到字符转换 BufferedWriter 装饰 ...
- VIN-Fusion config with Realsense D435i
### First shot Copy the .launch file in package VINS-Fusion to the directory of realsense2_cameara/l ...
- 连续bezier曲线的实现
需求场景 一系列的坐标点,划出一条平滑的曲线 3次Bezier曲线 基本上大部分绘图工具都实现了3次Bezier曲线,4个点确定一条3次Bezier曲线.以html5中的canvas为例 let ct ...
- Windows系统如何安装Redis?
转自 http://blog.csdn.net/lamp_yang_3533/article/details/52024744 一.Redis的下载地址 Redis官方并没有提供Redis的win ...
- 修改stl::set相关源码,提供有序属性值的查找接口
普通的stl::set,查找时只能传入key_type. 不能使用属性值查找. 例如: /* an employee record holds its ID, name and age */ clas ...
- bootsafe64 ev.sys
Win10 安装了驱动精灵之后,直接蓝屏,再次重启,出现: 采用PE启动盘进入系统,之后将C:\WINDOWS\system32\drivers下kavbootc.sys文件删除了,重启之后就可以进入 ...
- How to: Create a Business Model in the XPO Data Model Designer
How to: Create a Business Model in the XPO Data Model Designer This topic provides step-by-step inst ...