web应用中常见的问题就是多次提交,由于表单提交的延迟,有时几秒或者更长,让用户有机会多次点 击提交按钮,从而导致服务器端代码的种种麻烦。

为了解决这个问题,我们可以绑定处理程序到表单的提交事件上,在提交按钮第一次点击之后禁止提交按 钮。

Js代码
  1. $("form").submit(function(){
  2. $(":submit",this).attr("disabled","disabled");
  3. });
$("form").submit(function(){ $(":submit",this).attr("disabled","disabled"); });

在事件处理程序体内,用:submit选择器来获取表单内所有的提交按钮,并将disable特性值改为disabled(w3c官方推 荐的特性设置)。请注意,建立匹配集的时候我们提供this的上下文值,this指针总是引用已绑定事件的页面元素。

以这种方式禁止提交按钮,不会免除服务器代码的责任-----预防双重提交或者其它类型的验证问 题。添加这种代码到客户端能够提高终端用户的界面友好程度,但是它防止不了攻击或者其他黑客企图,所以我们的服务器端代码应该始终保持警惕

转载于:https://www.cnblogs.com/top5/archive/2010/02/01/1660750.html

jQuery防止多次提交相关推荐

  1. 一款基于jquery ui的动画提交表单

    今天要给大家分享一款基于jquery ui的动画提交表单.这款提交表单的的效果是以动画的形式依次列表所需填写的信息.效果非常不错,效果图如下: 在线预览   源码下载 实现的代码. html代码: & ...

  2. jquery验证表单 提交表单

    问题: jquery中使用submit提交按钮时,当return false后,依然会提交表单. 解决: 使用button按钮,而不是submit按钮 <script type="te ...

  3. jquery 通过submit()方法 提交表单示例

    jquery 通过submit()方法 提交表单示例: 本示例:以用户注册作为例子.使用jquery中的submit()方法实现表单提交. 注:本示例仅提供了对表单的验证,本例只用选用了三个字段作为测 ...

  4. php ajax jquery 表单重复提交,jQuery如何防止Ajax重复提交

    首先说说防止重复点击提交是什么意思. 我们在访问有的网站,输入表单完成以后,单击提交按钮进行提交以后,提交按钮就会变为灰色,用户不能再单击第二次,直到重新加载页面或者跳转.这样,可以一定程度上防止用户 ...

  5. jquery 上传图片 java_jquery 异步提交表单 上传图片小例子

    这次做ecshop项目用到了一些小东西,这里我就把在项目中用到的一个异步上传多个产品图片的小东西,不是多好,但是是我自己查资料搞出来的.放这里,给自己和大家一个参考,欢迎丢砖!(jquery+spri ...

  6. js或者jQuery模拟点击提交按钮button,触发提交操作

    一般情况下提交form表单,都是手动点击提交按钮,但是为了简化用户操作,有时候需要自动提交表单,或者做了其他某一个操作(非提交操作)之后自动提交表单,可以使用js或者jQuery模拟点击提交按钮,然后 ...

  7. JQuery表单的提交方式

    在MVC中,jQuery表单的提交方式尤为重要,表单的提交需要视图和控制器的密切连接使用. 控制器与视图的连接.接收分为三种: 自动提交:submit , action , methion 手动提交: ...

  8. jQuery validate插件submitHandler提交导致死循环解决方法

    作者:海底苍鹰 地址:http://blog.51yip.com/jsjquery/1511.html dom对像的提交form.submit();和jquery对像的提交$('').submit() ...

  9. 表单ajax提交插件,jQuery Form 表单提交插件-----ajaxSubmit() 的应用

    Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 一.ajaxSubmit() 介绍 立即通过AJA ...

  10. jquery form 的beforeSubmit提交前的回调函数

    ajaxForm()和ajaxSubmit()方法可以接受0个或1个参数,当为单个参数时,该参数可以是一个回调函数,也可以是一个options对象.以下是一个options对象. var option ...

最新文章

  1. mysql vpformysql引擎_MySQL InnoDB引擎B+树索引简单整理说明
  2. 不就是发个短信吗?这你都会?
  3. 吃饱了,就来写点东西吧。讲一个真实的故事给你长自信
  4. weblogic的输出打印日志设置
  5. CocoPods原理
  6. webservice CXF入门服务端
  7. 罗永浩或将找陈冠希做代言人
  8. 吴裕雄--天生自然 高等数学学习:两类曲线积分之间的联系
  9. oracle如何取当前日期年月_Oracle获取当前年、月、日的方法
  10. web.xml配置简介
  11. c++小程序代码_# 微信小程序的原生框架和taro对比 ##
  12. 3D模型欣赏:斯巴达女将军 长枪圆盾战士 性感美女
  13. NLP笔记之文本聚类
  14. [OfficeExcel] 王佩丰老师OfficeExcel2010 7-10讲 函数 学习笔记
  15. CrossOver软件MacOS和Win双系统兼容软件
  16. 键盘win键和alt互换了怎么办
  17. Verilog编程之道 - Verilog语言特性
  18. 网络计算机无法连接打印机,网络打印机无法连接怎么办 网络打印机无法连接教程【详解】...
  19. 雨课堂刷视频Python脚本
  20. html广告横幅图片,制作漂亮网页横幅广告图片的PS教程

热门文章

  1. c++primer 12.3.1文本查询程序
  2. c++动态内存的几个简单例子
  3. java properties 路径问题_Java 读取Properties文件时应注意的路径问题
  4. 处理丢失和无效的数据值
  5. 安装maven到Eclipse
  6. SQL Server,Oracle,DB2索引建立语句的对比
  7. [py2neo]Ubuntu14 安装py2neo失败问题解决
  8. 能量项链(NOIP 2006 提高组)
  9. 技术点不亲身实验一遍,难免会被网文唬
  10. 内核控制Meta标签:让360浏览器默认使用极速模式打开网页(转)