`

防止IE重复提交表单处理时,遇到的按钮操作问题

 
阅读更多
需求很简单,无非是防止用户频繁点击表单,以及ajax提交,不要给用户“点击之后,没有任何反应”的错觉。
因此在表单提交按钮点击之后,作如下效果:
按钮失效,背景变成灰色,并且在按钮后面加一个loading的小图标。

因为表单中还有一些非空字段的校验,所以上述效果的代码只有在校验全部通过的时候运行才是正常的。

起初我是在submit按钮上添加了一个,onclick事件,为了使这个按钮在提交时候失效,我添加了下面这一行代码
  $("#submit_button").attr("disabled","disabled");

火狐下面运行这个代码是没有任何问题的,后台的ajax提交也是很顺利,提交之后这个按钮变成灰色并且点击无效
但是IE下面是不行的,IE下面这样的代码只是按钮失效,并没有Ajax的后台提交

经过测试研究,最后发现是IE这个事件的执行顺序问题,把相关代码注册到form表单onsubmit事件上,即可在IE和狐火下面全部通过测试。
分享到:
评论

相关推荐

    IE 下Enter提交表单存在重复提交问题的解决方法

    在网页开发中,表单提交是用户与服务器交互的关键环节,而在Internet Explorer(IE)浏览器中,使用Enter键提交表单时可能会遇到一个常见的问题——重复提交。这可能导致数据库中的数据异常,对业务逻辑造成影响。...

    Chrome Form多次提交表单问题的解决方法

    问题的根源在于WebKit内核(包括Chrome和Safari)的浏览器为了防止用户意外或恶意地多次提交同一表单,采取了一种称为“防重复提交”的机制。这种机制会记住已经提交过的表单数据,如果用户尝试再次提交相同的表单,...

    自动发帖(用IE控件提交数据)

    标题中的“自动发帖(用IE控件提交数据)”是指使用编程技术,尤其是VB(Visual Basic)语言,创建一个程序来模拟用户在网页上填写表单并提交数据的行为。这种自动化工具通常用于批量发布信息,例如在论坛、博客或...

    通达OA工作流模块常见问题解答

    15. 提交时提示“表单尚未加载完毕”:调整浏览器安全级别,重新安装插件,或升级到IE8。 16. 表单显示不整齐:删除单元格内的多余空格。 17. 子流程保密字段不影响父流程数据映射,但2010版以前的子流程数据无法...

    JS加载iFrame出现空白问题的解决办法

    本文分享了针对在IE6环境下,通过JavaScript来加载iframe时遇到的空白问题的解决方案。通过合理的代码处理,可以确保即使在兼容性较差的浏览器环境下也能顺利加载页面,进而提高用户体验。 首先,本文介绍了遇到的...

    基于layui的通用型后台管理模板系统

    虽然layui主要关注前端展示,但其提供的表单验证功能可以在一定程度上防止非法数据提交,提高系统的安全性。不过,真正的安全防护还需要结合后端的安全机制。 10. 文档支持: layui提供了详尽的API文档和示例代码...

    ExtAspNet_v2.3.2_dll

    -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。 -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。 -增加...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。 -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。 -增加...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例172 不提交表单获取单选按钮的值 207 实例173 实现复选框中的全选、反选和不选 208 实例174 隐藏域提交用户的ID值 210 实例175 图像域替代提交按钮 211 实例176 跳转菜单实现页面跳转 213 实例177 上传图片预览 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例172 不提交表单获取单选按钮的值 207 实例173 实现复选框中的全选、反选和不选 208 实例174 隐藏域提交用户的ID值 210 实例175 图像域替代提交按钮 211 实例176 跳转菜单实现页面跳转 213 实例177 上传图片预览 ...

    JavaScript页面刷新与弹出窗口问题的解决方法

    当表单的`method`属性设置为`POST`时,刷新页面可能会导致重复提交数据。为了防止这种情况发生,浏览器默认行为是询问用户是否确认刷新。如果`method`属性设置为`GET`,则不会出现此提示,因为GET请求被认为是安全的...

Global site tag (gtag.js) - Google Analytics