Jquery 实现表单提交按钮变灰,防止多次点击提交重复数据

Jquery 实现表单提交按钮变灰,防止多次点击提交重复数据

    表单提交时候我们应该控制提交按钮,不能点击多次进行数据的重复提交。要不然就会有冗余的重复的数据在系统中,造成系统出现数据垃圾。jQuery很简单的就可以实现对表单提交按钮控制,下面就是相关的例子和代码。


  1. <form action=“${pageContext.servletContext.contextPath}/XXX/###” method=“post” id=“messageForm”>  
  2.     姓名:<input name = “name” type=“text” />  
  3.              <button type=“button” id=“submit”>提交申请</button>  
  4. </form>  
  5. <script>  
  6. $(“#submit”).click(function(){  
  7.   
  8.     $(this).attr(“disabled”,”true”); //设置变灰按钮  
  9.     $(“#messageForm”).submit();//提交表单  
  10.     setTimeout(“$(‘#submit’).removeAttr(‘disabled’)”,3000); //设置三秒后提交按钮 显示  
  11.        
  12. })  
  13. </scritp></span>  
  14.   
  15. </span>  
<form action="${pageContext.servletContext.contextPath}/XXX/###" method="post" id="messageForm">
    姓名:<input name = "name" type="text" />
             <button type="button" id="submit">提交申请</button>
</form>
<script>
$("#submit").click(function(){

    $(this).attr("disabled","true"); //设置变灰按钮
    $("#messageForm").submit();//提交表单
    setTimeout("$('#submit').removeAttr('disabled')",3000); //设置三秒后提交按钮 显示
     
})
</scritp></span>

</span>

附:其他的实现方法,也使用了js

  第一种:

  1. <form name=fm method=“POST” action=“/”>  
  2. <p>按钮变灰</p>  
  3.     name: <input type=“text” name=“name”/>  
  4.      <input type=“button” value=“提交” onclick=“javascript:{this.disabled=true;document.fm.submit();}”>  
  5.   
  6. </form>  
<form name=fm method="POST" action="/">
<p>按钮变灰</p>
    name: <input type="text" name="name"/>
     <input type="button" value="提交" οnclick="javascript:{this.disabled=true;document.fm.submit();}">

</form>

 第二种:

  1. <form name=fm method=“POST” action=“/” >  
  2.   <input type=“submit” name=“Submit” value=“提交” id=“submitId” onclick=“submit();”>  
  3. </form>  
  4. <script language=“javascript”>  
  5.  function submit()  
  6.  {  
  7.  var submitId=document.getElementById(‘submitId’);  
  8.  submitId.disabled=true;  
  9.  document.fm.submit();  
  10.  setTimeout(“submitId.disabled=false;”,3000); //代码核心在这里,3秒还原按钮代码  
  11. }  
  12. </script>   
<form name=fm method="POST" action="/" >
  <input type="submit" name="Submit" value="提交" id="submitId" οnclick="submit();">
</form>
<script language="javascript">
 function submit()
 {
 var submitId=document.getElementById('submitId');
 submitId.disabled=true;
 document.fm.submit();
 setTimeout("submitId.disabled=false;",3000); //代码核心在这里,3秒还原按钮代码
}
</script> 

前后代码进行控制,后台代码也要进行控制,这样子就可以确保万无一失了!

后台代码控制表单提交有一个好的办法就是使用session, 具体可以参考下面这篇博文:

JavaWeb学习总结(十三)——使用Session防止表单重复提交

http://www.cnblogs.com/xdp-gacl/p/3859416.html

其实后台控制表单重复提交的原理:

(1)在表单提交页面生成一个唯一的token;token可以保存在session中。(若使用了缓存,也可以保存在缓存中)

(2)提交的时候验证,后台首先验证token,验证通过,才可以进行提交操作;

(3)当表单数据提交成功(保存到数据库-持久化),然后删除session(缓存)中对应的token。

 

在页面中添加Token防止越权访问-也可做表单重复提交,使用的原理也是Token!

http://blog.csdn.net/chinawszjr/article/details/51096095

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101627.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vmware2021 .7最新激活码【2021最新】

    (vmware2021 .7最新激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWN…

    2022年3月21日
    47
  • vm安装ubuntu时一直没反应_虚拟机安装ubuntu系统要多久

    vm安装ubuntu时一直没反应_虚拟机安装ubuntu系统要多久这**加粗样式**里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学

    2022年9月30日
    0
  • 错误提示:Syntax error on token “function”, delete this token

    错误提示:Syntax error on token “function”, delete this token错误提示:Syntax error on token “function”, delete this token

    2022年4月25日
    70
  • 太极图正确画法_《太极图》的正确画法

    太极图正确画法_《太极图》的正确画法郭凤娟(金玄睿婕)提起太极相信大家都不陌生,都知道太极白的一面代表阳,黑的一面代表阴,白的里面有黑点代表阳中有阴,黑的里面有白点代表阴中有阳。但是太极图的概念真的这么简单浅显吗?下面我来分析一下太极图的文化内涵。《周易》系辞里有一段话:“易有太极,是生两仪,两仪生四象,四象生八卦,八卦定吉凶,吉凶生大业”对于这段话,我们可以称之为演易总纲领。演易总纲的核心、起点、本原、本体是太极。太极是什么?先哲…

    2022年5月7日
    196
  • C# ListView_winform数据库增删改查

    C# ListView_winform数据库增删改查C#winform中listview排序本文解决方案是采用下面链接中的解决方案。十分感谢这篇文章的作者bright:http://blog.163.com/shensc@126/blog/static/1312896522010614103538287/看到网上的许多解决方案(其实就是一种,只不过被转载和粘贴,所以没什么用。同时那么多的代码居然屌用没有(原谅我说脏话了)(

    2022年10月3日
    0
  • 警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA

    警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA问题:安装TensorFlow(CPU版本),使用pipinstalltensorflow安装,安装一切顺利,但是在跑一个简单的程序时,遇到如下情况:大概意思是:你的CPU支持AVX扩展,但是你安装的TensorFlow版本无法编译使用。原因:除了通常的算术和逻辑,现代CPU提供了许多低级指令,称为扩展,例如,SSE2,SSE4,AVX等来自维基百科:高级矢量扩…

    2022年5月30日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号