`
cuishen
  • 浏览: 297886 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JQuery异步提交表单在Firefox button onclick事件下可能导致重复提交

    博客分类:
  • j2ee
阅读更多
当我们处理button的onclick事件时,在onclick里面用jquery异步(async : true)提交表单,如果是在Firefox下可能会导致表单重复提交,在IE下没有这个问题,解决方案是:
<s:form id="form1" onsubmit="return false;">

究其原因: 在button 的onclick事件里面用AJAX 异步提交表单的时候,并且异步提交表单前弹出alert或者蒙板询问用户是否要执行操作,对于用户来说他看到的貌似是提交操作被block住了,但是在FF后台是无法block住点击button的提交的 (同步提交就不会有这个问题!),所以对于用户在FF下实际看到的是那个弹出框一闪而过,没有点击确认按钮前已经自动提交了。

所以上面给出的解决方案是: onsubmit="return false;" 可以屏蔽FF下button 的自动提交。

或者用下面的解决方案: e.preventDefault(); 效果是一样的。
$(document).ready(function(){
	$("#button1").click(function (e) {
		e.preventDefault();
		......
	});
});


0
0
分享到:
评论
1 楼 hellostory 2013-07-04  
通用做法:在<button>中加入type="button"

相关推荐

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

    需要注意的是,在提交过程中使用alert函数可能会在某些浏览器(如Firefox)中阻塞表单提交的执行。 总结以上内容,表单提交失败的原因可能包括错误使用a标签、GET与POST方法的使用不当、未正确触发onsubmit事件、...

    纯javascript的ajax实现php异步提交表单的简单实例

    根据给定文件的内容,本知识点将详细介绍如何使用纯...这个实例展示了如何仅使用原生的JavaScript,不依赖于任何外部库,完成一个简单的异步表单提交。这种方式适用于需要轻量级解决方案或者对依赖项有严格限制的项目。

    jQuery实现模式窗口登录

    通过以上步骤,我们可以利用jQuery实现一个兼容IE和Firefox浏览器的模态登录窗口。这种方式不仅提升了用户体验,还简化了前端开发的工作量。此外,通过使用jQuery的AJAX方法,还可以轻松实现与后端服务器的交互,...

    jquery easyui 中文api

    - EasyUI 兼容主流浏览器,如 Chrome、Firefox、Safari、Edge 和 IE8+。 - 轻量级设计和合理的资源加载策略,保证了在不同设备和网络环境下的良好性能。 8. **示例和文档** - `jquery easyui 1.5中文文档.exe` ...

    jQuery EasyUI 1.5 版 API 中文版

    - **浏览器兼容性**:EasyUI 支持主流的现代浏览器,如Chrome、Firefox、Safari、Edge等。 总之,jQuery EasyUI 1.5 版 API 中文版是开发者不可或缺的参考资料,它详细介绍了每个组件的功能、使用方法及示例,有助...

    ExtAspNet_v2.3.2_dll

    -修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox和TwinTriggerBox增加EnableEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性...

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

    -修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox和TwinTriggerBox增加EnableEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性...

    jQuery Ajax方式上传文件的方法

    需要注意的是,这个功能在支持HTML5的现代浏览器(如Firefox和Chrome)中工作良好,但老版本的Internet Explorer(尤其是IE9及以下)不支持`FormData`对象,因此在这些浏览器中可能无法正常工作。对于这些情况,可以...

    HTML网页,班级编程大赛,3等奖(第一学期0基础)

    提交数据时,通过`&lt;button&gt;`的`onclick`事件触发AJAX请求,与服务器进行异步通信,实现无刷新的数据交换。 总结,这次班级编程大赛展示了学生们的HTML学习成果,他们将理论知识与实际项目相结合,创作出以动漫为...

    bootstrap改变按钮加载状态

    `autocomplete="off"`是为了防止Firefox浏览器在页面加载后自动填充表单字段,这可能导致按钮的禁用状态无法正确显示。 接下来,我们需要使用jQuery(因为Bootstrap默认使用jQuery库)来监听按钮的点击事件并改变其...

Global site tag (gtag.js) - Google Analytics