struts2的form用ajax提交偶尔提交两次

问题描述

最近遇到一个bug,页面是用ajax提交form的。我们系统只能在ie7或者ie6中使用,但发现有时候提交一次却执行了两次action?这种情况正常情况下不发生,是为什么呀。

解决方案

解决方案二:
是不是点了两次嘞,按钮设置一个点击后变灰,再测试一下。
解决方案三:
肯定是前端提交了2次么。。。
解决方案四:
引用楼主famossss的回复:

最近遇到一个bug,页面是用ajax提交form的。我们系统只能在ie7或者ie6中使用,但发现有时候提交一次却执行了两次action?这种情况正常情况下不发生,是为什么呀。

没有的。。按钮是点一次就变灰。。这种情况偶尔才发生。。不知道为啥。。
解决方案五:
引用1楼da_zhuang的回复:

是不是点了两次嘞,按钮设置一个点击后变灰,再测试一下。

前端就ajax提交一次,form不submit的。很少的情况下才会出现调用两次的情况。什么原因呀。
解决方案六:
不能确定重现的问题,这个原因可能很多,不好下断定
解决方案七:
我曾经遇到过,submit放到了按钮事件上面,,有些浏览器会执行二次请求事件。尤其FIREFOX。另外,AJAX,有时候,触发事件并没有及时响应,导致用户会产生第二次点击,也有可能。
解决方案八:
引用楼主famossss的回复:

最近遇到一个bug,页面是用ajax提交form的。我们系统只能在ie7或者ie6中使用,但发现有时候提交一次却执行了两次action?这种情况正常情况下不发生,是为什么呀。

我之前也遇到过这种情况,应该是只有查询请求的时候会有这种情况,如果任何ajax请求都有这种情况,那就要看如何处理了
解决方案九:
引用5楼yellowshine的回复:

不能确定重现的问题,这个原因可能很多,不好下断定

偶尔出现,最有可能的是啥问题
解决方案十:
引用7楼attached的回复:

引用楼主famossss的回复:最近遇到一个bug,页面是用ajax提交form的。我们系统只能在ie7或者ie6中使用,但发现有时候提交一次却执行了两次action?这种情况正常情况下不发生,是为什么呀。我之前也遇到过这种情况,应该是只有查询请求的时候会有这种情况,如果任何ajax请求都有这种情况,那就要看如何处理了

就部分,查询反而没遇到过,
解决方案十一:
引用6楼wrong1111的回复:

我曾经遇到过,submit放到了按钮事件上面,,有些浏览器会执行二次请求事件。尤其FIREFOX。另外,AJAX,有时候,触发事件并没有及时响应,导致用户会产生第二次点击,也有可能。

不可能第二滴点击。。
解决方案十二:
引用8楼famossss的回复:

引用5楼yellowshine的回复:不能确定重现的问题,这个原因可能很多,不好下断定偶尔出现,最有可能的是啥问题

贴代码看看吧
解决方案十三:
引用11楼yellowshine的回复:

引用8楼famossss的回复:引用5楼yellowshine的回复:不能确定重现的问题,这个原因可能很多,不好下断定偶尔出现,最有可能的是啥问题贴代码看看吧

functiononSubmit(){varcmp_form=Ext.getCmp('form_panel');varakc194=Ext.getCmp("akc194_cmp").getValue();if(akc194==""||akc194==null){Ext.MessageBox.alert('提示','请选择拨付月份!');return;}varstore=Ext.getCmp('dsGrid');vargrid1=Ext.getCmp('grid1');//varm=store.getSelectedRange();varm=grid1.getSelectionModel().getSelections();//获取添加的人员列表记录if(m==null||m==""){Ext.MessageBox.alert('提示','请选择需要拨付的医院!');return;}varjsonData="";for(vari=0,len=m.length;i<len;i++){varss=JSON.stringify(m[i].data);if(i==0)jsonData=jsonData+ss;elsejsonData=jsonData+","+ss;}cmp_form.form.doAction('submit',{url:'<s:urlvalue="/k1/f30180405/savePatchHosPay.action"/>',timeout:1000000000,params:{listData:jsonData,akc194:akc194},waitMsg:'保存......',reset:false,success:function(menu_form,action){Ext.MessageBox.alert('Message','保存成功!');},failure:function(menu_form,action){Ext.MessageBox.alert('Message','保存失败,请在月拨付查询中查看拨付成功的医院列表!');}});}这个方法偶尔执行两次。。没有用form提交。。
解决方案十四:
有可能是刷新了页面,你不妨设置token拦截器试试
解决方案十五:
首先你自己要确定在什么条件下提交了两次,跟提交一次的情况有什么区别,你只说偶尔提交两次,谁猜得出原因啊
解决方案:
我用的是MVC3,你是不是引用了两次<scriptsrc="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")"type="text/javascript"></script>可能布局引用了_Layout.cshtml提交表单的页面也引用了
解决方案:
你的ajax触发方式是什么啊
解决方案:
http://www.360doc.com/content/10/0712/10/15103_38434853.shtml
解决方案:
js设置不能重复提交
解决方案:
ajax中有一种缓存机制,而这种缓存机制会重提交,建议你换种ajax写法。
解决方案:
后来原因找到了么,是什么引起的,我现在也遇到这样的问题
解决方案:
关注中,你说的偶尔这个真心不好猜

时间: 2024-10-25 14:12:15

struts2的form用ajax提交偶尔提交两次的相关文章

jQuery基于ajax()使用serialize()提交form数据的方法_jquery

本文实例讲述了jQuery基于ajax()使用serialize()提交form数据的方法.分享给大家供大家参考,具体如下: jQuery的serialize()方法通过序列化表单值,创建URL编码文本字符串,我们就可以选择一个或多个表单元素,也可以直接选择form将其序列化,如: <form action=""> First name: <input type="text" name="FirstName" value=&qu

jQuery实现form表单基于ajax无刷新提交方法详解_jquery

本文实例讲述了jQuery实现form表单基于ajax无刷新提交方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o

Jquery Ajax表单提交插件jquery form用法

HTML 首先我们载入jquery库和jquery.form.js插件.jquery.form.js插件的官网地址:http://www.malsup.com/jquery/form/  代码如下 复制代码 <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.f

Ajax表单提交实例

ajax|表单提交 昨天在CSDN逛的时候,看见一位网友需要解决一些关于AJAX的FORM提交的问题,现在把一个实例贴出来,希望对广大爱好者有帮助. <!--注册模块-->default.asp <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><

javascript-html5 ajax留言板提交到数据库

问题描述 html5 ajax留言板提交到数据库 <form id="contact-form" action="/M.asp" method="get" class="form-horizontal" onSubmit="uploadMB()"> <input class="input-xxlarge span12" type="text" pla

javascript-js我想让2个form表单、都提交。但是只会执行第二个。这是为什么

问题描述 js我想让2个form表单.都提交.但是只会执行第二个.这是为什么 我想js我想让2个form表单.都执行.但是只会执行第二个.这是为什么, 解决方案 表单增加target="_blank"提交到新窗口..要不你2个表单都是在当前窗口提交,浏览器怎么知道是要提交哪个,只能乱提交了.. 要不就用ajax异步提交,不要使用普通表单的提交方式 解决方案二: 既然同时执行,为什么写成俩个form,一个form不就好了吗,你要做什么操作就在js中实现,一个form肯定能实现的,你俩个f

基于Ajax表单提交及后台处理简单的应用_AJAX相关

首先先说下表单提交吧,要提交表单那么就得先收集表单数据(至于验证这个我就不说了,要说留下下次吧),有了jquery取个html的值还是简单$("xxid").val()等就完了,但如果一张表单收集的数据很多,像这样的表单又有很多张,那用此方法肯定麻烦死,并且容易眼花录错.所以,我们就可以简单的来定义一个收集规则,如在要回传到服务器的数据表单控件,可以做个标记,到时取的时候把这些标记的数据一起取回去.  就拿最简单的文体输入做例子吧<input type="text&qu

.NET的Ajax请求数据提交实例_实用技巧

本文实例讲述了.NET的Ajax请求数据提交实现方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>    <head runat="server">      <title>ajax请求</title>      <link type

form表单转Json提交的方法(推荐)_javascript技巧

先将表单数值转换成数组存储,存储成的格式为[{"name":"","value":""},.....}] var formArray = $("#form").serializeArray(); 将formArray转换成Json格式 function arrayToJson(formArray){ var dataArray = {}; $.each(formArray,function(){ if(da