`
jackroomage
  • 浏览: 1199340 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

jquery 解决多次提交

阅读更多

来源:http://andrewye.iteye.com/blog/552324

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

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

 

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

 

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

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

分享到:
评论

相关推荐

    阻止表单提交按钮多次提交的完美解决方法

    另外,在提交事件发出后,最好将提交按钮设置为disabled,防止由于网络延时问题,让用户有机会进行多次点击重复提交。 onclick事件里面执行 $(this).attr(‘disabled’,’disabled’); 在点击一次后立马将按钮设置为...

    JS和jQuery使用submit方法无法提交表单的原因分析及解决办法

    昨天,在做一个表单异步提交内容的时候,遇到很奇怪的问题,submit()方法无法进行提交,每次提交都是把 当前给刷新了,网络抓包发现,每次都是 get方式去获取 当前页面,完全没有post 请求,想着以前 遇上这样的问题...

    Jquery表单验证失败后不提交的解决方法

    很多人可能都会遇到在调试的时候用了return了...这个问题我最近也碰到了,尝试了多次也没有用,后来终于发现了其中的问题,下面分享处理给大家,让同样遇到这个问题的朋友们能够看看,有需要的朋友们下面来一起看看吧。

    jquery重复提交请求的原因浅析

    一般来说有两个原因: 1、第一种是没有取消绑定,例如$(“#test”).unbind(“click”);$(“#test”).click(function(){….}); 2、是因为在不同的页面多次引用同一个js文件,这样也有可能会造成重复提交请求。

    按钮的Ajax请求时一次点击两次提交的解决方法

    ajax的请求,在JQuery中是: $(function () { $('#submit').click(function () { var createGenreForm = $('#createGenreForm'); if (createGenreForm.valid()) { var obj = { Name: $('#Name').val(), Description...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    10-15 5 遗留问题解决 10-15 6 zf重新部署 10-15 7 zf controller讲解 10-16 1 model讲解 controller view调用 10-16 2 投票系统讲解1 10-16 3 投票系统讲解2 10-16 4 投票系统讲解3 10-16 5 投票系统讲解4 10-18 1 ...

    jquery的live使用注意事项

    ————————– 题记 最近开发遇到一个很奇怪的问题,一个按钮点击提交时发生多次请求,导致数据重复。 那么,经过调试发现,出现问题的原因便在于$(“#id”).live(“click”, function() {});这个live身上,若...

    jQuery 防止相同的事件快速重复触发方法

    现在有比较多的解决方法,但几乎都有局限性,比如一个 Ajax 表单,如果防止用户一次点好多下可以在第一次点击的时候冻结提交按钮,直到允许再次点击的时候再放开。很多人都这样干,但在其他的情况就不是很有效了。 ...

    easyui+增强窗体 demo_ext为实例文件

    2、修复menu、datagrid、combo、combobox、panel、tabs、tree、treegrid 因事件注册造成多次重复渲染的问题(包括多次请求后台数据)。 3、移除datagrid 的rowContextMenu菜单项默认事件替换功能。 4、删除datagrid ...

    Ajax模仿google提示输入框 v1.8

    6.可以一个页面多次使用 7.模拟下拉框不会被select遮挡 8.调用更方便(内核已改为jq插件) 9.皮肤修改方便 ,外置的css样式文件,带有注释说明,任意修改 10.支持键盘方向键按住不放选择 11.解决了延时卡死的现象 12...

    Ajax 模仿google百度提示输入框 v1.8

    6.可以一个页面多次使用 7.模拟下拉框不会被select遮挡 8.调用更方便(内核已改为jq插件) 9.皮肤修改方便 ,外置的css样式文件,带有注释说明,任意修改 10.支持键盘方向键按住不放选择 11.解决了延时卡死的现象 12...

    短信彩信群发系统平台源码1.0版

    彩翼通WEB短信平台基于C#3.5 + MSSQL2005 R2平台开发,前端采用jQuery1.4.1 + DIV +CSS展示,系统CS源码采用3层架构(数据层+逻辑层+表现层),系统采用存储过程的设计,方便改动及二次开发。 1、【彩翼通短信平台...

    (全)传智播客PHP就业班视频完整课程

    10-15 5 遗留问题解决 10-15 6 zf重新部署 10-15 7 zf controller讲解 10-16 1 model讲解 controller view调用 10-16 2 投票系统讲解1 10-16 3 投票系统讲解2 10-16 4 投票系统讲解3 10-16 5 投票系统讲解4 10-18 1 ...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    10-15 5 遗留问题解决 10-15 6 zf重新部署 10-15 7 zf controller讲解 10-16 1 model讲解 controller view调用 10-16 2 投票系统讲解1 10-16 3 投票系统讲解2 10-16 4 投票系统讲解3 10-16 5 投票系统讲解4 10-18 1 ...

    史上最全传智播客PHP就业班视频课,8月份视频

    10-15 5 遗留问题解决 10-15 6 zf重新部署 10-15 7 zf controller讲解 10-16 1 model讲解 controller view调用 10-16 2 投票系统讲解1 10-16 3 投票系统讲解2 10-16 4 投票系统讲解3 10-16 5 投票系统讲解4 10-18 1 ...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    10-15 5 遗留问题解决 10-15 6 zf重新部署 10-15 7 zf controller讲解 10-16 1 model讲解 controller view调用 10-16 2 投票系统讲解1 10-16 3 投票系统讲解2 10-16 4 投票系统讲解3 10-16 5 投票系统讲解4 10-18 1 ...

    文章管理系统

    3.[纠正]纠正部分浏览器后台导航菜单间间隔背景图会重复显示多次BUG 4.[纠正]纠正前台导航下拉二级菜单多次经过会出现重复伸缩问题 5.[纠正]选择服务器文件页面没有滚动条的BUG 2014年03月07日 V2.82更新包 1.[新增...

    商用版本文本编辑器DotNetTextBoxV6.0.8Source 源码

    7)修正自动保存图片功能会对本地域名的图片也会重新保存一次的BUG。 8)修正获取远程页面功能在获取部分页面时乱码的BUG! 9)增加批量上传文件的功能,同时优化了所有模块的上传文件功能。 10)所有弹出的模态窗口现在可...

    DotNetTextBox V6.0.10 商业版 下载 (已知最新)

    7)修正自动保存图片功能会对本地域名的图片也会重新保存一次的BUG。 8)修正获取远程页面功能在获取部分页面时乱码的BUG! 9)增加批量上传文件的功能,同时优化了所有模块的上传文件功能。 10)所有弹出的模态窗口...

    ExtAspNet_v2.3.2_dll

    -修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack->AutoPostBack, Event PostBack->EnablePostBack)。 -为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性...

Global site tag (gtag.js) - Google Analytics