Chrome Form多次提交表单问题的解决方法
今天用chrome提交一个表单时,发现一个奇怪的问题:
代码如下:
//提交表单
document.frmOrder.action = 'http://www.abc.com/d.aspx';
document.frmOrder.method = 'POST';
document.frmOrder.target = '_blank';
document.frmOrder.submit();
第一次提交可以,第二次提交就没有任何响应了。需要重新加载页面后才可以提交,而这个问题在Firefox,IE下没有出现。
马上Google了一下发现这是webkit内核浏览器的共有特性,这样做是为了防止表单被重复提交。
解决方法也很简单,只需要为 submit 按钮添加 onclick 事件响应,给表单的 action 值添加一个无用的参数,改变表单的响应地址。
//提交表单
document.frmOrder.action = 'http://www.abc.com/d.aspx?r='+Math.random();
document.frmOrder.method = 'POST';
document.frmOrder.target = '_blank';
document.frmOrder.submit();
相关推荐
-
如何拒绝同一张表单被多次提交?
如何拒绝同一张表单被多次提交?formtest.asp ' 表单文件. <% Randomize ' 初始化随机数种子. num1=rnd() ' 产生随机数. num1=int(26*num1)+65 ' 修改num1的范围,使其是A-Z范围的Ascii码,防止表单名出错. session("antry")="test"&chr(num1) ' 产生随机字符串. %> <form name="test" action=
-
JS防止用户多次提交的简单代码
复制代码 代码如下: <html><body> <form action="login.action" method="post"> <input type="button" name="btn" value="提交表单" onclick="return sub();" /> </form></body></
-
ASP.NET 防止按钮多次提交核心实现代码
复制代码 代码如下: <asp:Button ID="btnSubmit" runat="server" UseSubmitBehavior="false" OnClientClick="this.disabled=true; " Text="Submit" OnClick="Button1_Click" /> 主要添加 复制代码 代码如下: UseSubmitBehavio
-
ASP.NET 多次提交的解决办法2
例如: protected void Page_Load(object sender, EventArgs e) { //.net1.1 Button1.Attributes.Add("onclick", "this.disabled=true;" + this.GetPostBackEventReference(this.Button1)); //.net 2.0以上 Button1.Attributes.Add("onclick", &quo
-
ASP.NET 多次提交的解决办法
它的原理是:asp.net页面提交的时候会调用ValidatorOnSubmit方法(内置的),我们利用js方法的覆盖特性,把系统内置的ValidatorOnSubmit替换成我们的版本,然后当执行ValidatorOnSubmit时屏蔽掉页面上所有提交按钮(也可以执行你自己的方法) //屏蔽所有提交按钮 function disableOtherSubmit() { var obj = event.srcElement; var objs = document.getElementsByTag
-
Chrome Form多次提交表单问题的解决方法
今天用chrome提交一个表单时,发现一个奇怪的问题: 复制代码 代码如下: //提交表单 document.frmOrder.action = 'http://www.abc.com/d.aspx'; document.frmOrder.method = 'POST'; document.frmOrder.target = '_blank'; document.frmOrder.submit(); 第一次提交可以,第二次提交就没有任何响应了.需要重新加载页面后才可以提交,而这个问题在Firef
-
js和jq使用submit方法无法提交表单的快速解决方法
昨天,在做一个表单异步提交内容的时候,遇到很奇怪的问题,submit()方法无法进行提交,每次提交都是把 当前给刷新了,网络抓包发现,每次都是 get方式去获取 当前页面,完全没有post 请求,想着以前 遇上这样的问题 都是因为 表单中 有 name 或者 id 这些命名跟submit 有冲突,但是检查了几次,始终没有发现 名字冲突,所以这个可能性被排除. 平常自己做触发按钮,基本不用a 标签,但是昨天不知道什么 问题,竟然用了 a 而且还给了 href 为空,由于这个a 的class 有多个
-
jquery.form.js异步提交表单详解
本文实例为大家分享了jquery.form.js异步提交表单的具体代码,供大家参考,具体内容如下 引入脚本: <script type="text/javascript" src="/js/jquery.form.min.js"></script> <script src="/js/json2.js"></script> //前端代码: <form id="f1">
-
php+html5使用FormData对象提交表单及上传图片的方法
本文实例讲述了php+html5使用FormData对象提交表单及上传图片的方法.分享给大家供大家参考.具体分析如下: FormData 对象,可以把form中所有表单元素的name与value组成一个queryString,提交到后台.在使用Ajax提交时,使用FormData对象可以减少拼接queryString的工作量. 使用FormData对象 1.创建一个FormData空对象,然后使用append方法添加key/value 复制代码 代码如下: var formdata = new
-
使用ajax异步提交表单的几种方法总结
这里介绍三种常用的提交方式 方式一 手工收集所有的用户输入,封装为大的"k1=v1&k2=v2-"键值对形式,使用$.post(url, data,fn)把数据提交给服务器 $.ajax({ type:'post', url:'Notice_noTipsNotice', data:'k1=v1&k2=v2...', cache:false, dataType:'json', success:function(data){ } }); 方式二 单序列化:$('#myfor
-
jquery实现ajax提交表单信息的简单方法(推荐)
最近在思考优化项目,想自己扩展一个jquery自动获取表单中的数据进行ajax提交.本人没有完整性学习jquery,基本上是现学现找,有点困难. 主要是扩展和拼接json转对象 很简单,附上代码: ; (function ($) { $.fn.ajaxForm = function (options) { var defaults = { modelname: 'model',//后台对象接收名称 url: '/',//提交地址 postType: 'POST',//提交方式 dataType:
-
利用JS提交表单的几种方法和验证(必看篇)
工作中发现表单提交方便的问题,很多时候IE下提交好好的,打了火狐下就出现了问题,利用提交按钮就不成功了,于是利用JS的方式就成功了,也不知道为什么.在导师的催促下就总结出以下的几种常用表单提交的方法. 第一种方式:表单提交,在form标签中增加onsubmit事件来判断表单提交是否成功 <script type="text/javascript"> function validate(obj) { if (confirm("提交表单?")) { aler
-
Mvc提交表单的四种方法全程详解
一,MVC HtmlHelper方法 1. Html.BeginForm(actionName,controllerName,method,htmlAttributes){} 2. BeginRouteForm 方法 (HtmlHelper, String, Object, FormMethod) 二,传统Form表单Aciton属性提交 三,Jquery+Ajax 提交表单 四,MVC Controller控制器和表单参数传递 MVC HtmlHelper方法 一,Html.BeginForm
-
layer.open 获取不到表单信息的解决方法
表单: <div class="orderHouse none"> <ul class="order-house-messige"> <form id="order-form" class="mui-input-group common-input-group order-house-group" data-action="<{:U('ordering')}>"&g
-
JS中的form.submit()不能提交表单的错误原因
直接上代码把: 复制代码 代码如下: <div id="register"> <h4>会员注册</h4> <div class="formdiv"> <form method="post" action="register.php?action=register" name="register" id="r
随机推荐
- php获取数组中键值最大数组项的索引值 原创
- 基于jquery的无限级联下拉框js插件
- SqlServer 2005 简单的全文检索
- jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
- vue.js通过自定义指令实现数据拉取更新的实现方法
- JS实现从表格中动态删除指定行的方法
- 常见的正则表达式问题
- Vue-Router进阶之滚动行为详解
- 关于mysql delete的问题小结
- 一些php技巧与注意事项分析
- MS-SQL Server 中单引号的两种处理方法
- java打印正弦曲线示例
- 使用PHP接收POST数据,解析json数据
- js实现点击每个li节点,都弹出其文本值及修改
- Android 打开网络上pdf文件
- Java中的clone方法详解_动力节点Java学院整理
- 用YSlow分析和优化页面的方法第1/2页
- c++判断是否为目录的示例分享
- Android 一键清理、内存清理功能实现
- Android 编辑头像功能简单实现实例(图片选取,裁剪)