日常开发bug修复——火狐浏览器提交表单时表单执行两次
2016-06-08 18:31
686 查看
今天测试的导入数据的时候发现提交文件时,数据库居然执行了两次插入操作。看一下后台原来是控制器(项目用的是springmvc)被执行了两次。我就纳闷了为什么会有如此诡异的事情发生。多次测试无果决定换浏览器试试。结果IE上却没有再次出现这个bug(原来用的火狐浏览器)。经过查找资料得知,原来是在firefox下,form对象(jQuery对象).submit(),特别是写在a标签里面的会提交两次,如这样写
于是乎决定将form表单的onsubmit里面的表单验证删掉,在用submit按钮去提交并用事件去执行表单验证。
a标签改为submit按钮
<input class="btn-grid" value="导入" type="submit" onclick="uploadCheck();"/>然后在uploadCheck方法里面写上document.getElementById("formUpload").submit();(这次用js对象)
就这样解决这个bug,我相信也会有人遇到同样的问题吧。
<pre name="code" class="html"><a href="#" class="btn-blue" onclick="$('#formUpload').submit();">
于是乎决定将form表单的onsubmit里面的表单验证删掉,在用submit按钮去提交并用事件去执行表单验证。
a标签改为submit按钮
<input class="btn-grid" value="导入" type="submit" onclick="uploadCheck();"/>然后在uploadCheck方法里面写上document.getElementById("formUpload").submit();(这次用js对象)
就这样解决这个bug,我相信也会有人遇到同样的问题吧。
相关文章推荐
- Eclipse 实用快捷键收集
- QT 静态编译后中文可能会出现乱码
- Bootstap
- 配置当前用户使用豆瓣pip源
- iOS已上线应用的推送证书过期的处理
- Unity3D LuaBundleLoader(基于cslua)
- B树、B-树、B+树、B*树
- Android Gradle 技巧之二: 最爱命令行
- JavaScript中instanceof运算符的使用示例
- 基于android的Http网络请求
- hive内部表与外部表区别
- 160608、mysql距离函数st_distance
- [caffe]extract feature
- JVM结构分析
- 最近的工作生活的心得感悟,给自己的表现打50分,不及格
- Looper、Message、MessageQueue、Handler异步消息处理机制源码分析
- emWin实现BMP位图皮肤之Dropdown篇
- java动态代理
- vc通过webbrowser操作ie元素
- RxJava(九)zip操作符在Android中的实际使用场景