关于chrom56版本以后的form标签提交bug
最近遇到一个情况:
低版本的浏览器i运行如下代码:
function query_mission(query_tag) {
// 创建form表单
var ip_list = getIpList()
if (ip_list == false) {
return false
}
form = $("<form></form>")
form.attr('action', '/customer/query/mission_create/')
form.attr('method','post')
form.attr('target','_blank')
object_ip = $("<input type='hidden' name='ip_list' />")
object_tag = $("<input type='hidden' name='query_tag' />")
object_ip.attr('value',JSON.stringify(ip_list))
object_tag.attr('value', query_tag)
form.append(object_ip)
form.append(object_tag)
form.submit()
}
没问题 在高版本浏览器运行报如下错误: Form submission canceled because the form is not jquery-2.1.1.min.js:3 connected
经查询,在chrom56版本以后不支持如上拼凑标签进行提交,需要加如下代码:
$(document.body).append(form);
问题原因:
在chrom56版本以后,chrom遵循html标准,html标准:如果提交如上form表单不是hmtl文档的标签,会终止提交,所以出现如上错误。在chrom56之前的版本不遵循html标准。详情参考如下:
解决方法就是:
是文档中插入form表单:
$(document.body).append(form);
或者:
document.body.appendChild(form);
完整代码:
function query_mission(query_tag) {
// 创建form表单
var ip_list = getIpList()
if (ip_list == false) {
return false
}
form = $("<form></form>")
form.attr('action', '/customer/query/mission_create/')
form.attr('method','post')
form.attr('target','_blank')
object_ip = $("<input type='hidden' name='ip_list' />")
object_tag = $("<input type='hidden' name='query_tag' />")
object_ip.attr('value',JSON.stringify(ip_list))
object_tag.attr('value', query_tag)
form.append(object_ip)
form.append(object_tag)
$(document).append(form);
form.submit()
}
关于chrom56版本以后的form标签提交bug的更多相关文章
- 如果没有<form>标签,也没有enctype="multipart/form-data"属性,怎么使用formData对象提交表单呢?如下方式
form标签的enctype属性 enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码. 默认地,表单数据会编码为 "application/x-www-form-urlen ...
- 润乾报表JSF FORM 标签中使用填报表解决方案
需求 润乾报表的标签需要在jsf页面中和其他填报控件一起使用,润乾报表负责展现录入部分数据,并且这部分数据和页面的其它控件的数据存在前台和后台的交互. 问题 润乾报表在前台会生成自己的form, ...
- s:form标签
2017-01-07 17:43:18 基本的用法 <!-- Action类必须有一个无参的构造器,因为在执行action方法之前,拦截器已经创建了一个"空"的Action对 ...
- springmvc的form标签
1.要使用Spring MVC提供的表单标签,首先需要在视图页面添加: <%@ taglib prefix="form" uri="http://www.sprin ...
- 关于form标签,你该知道
有没有发现,自己在写模板的时候很少使用form元素,一来form和table总是那么傻傻分不清楚:二来form的特性理解不清楚,有了input.label来了直接就上,根本不用form(不知道有没有人 ...
- python_way day21 Django文件上传Form方式提交,原生Ajax提交字符处啊,Django文件上传之原生Ajax方式、jQuery Ajax方式、iframe方式,Django验证码,抽屉示例,
python_way day21 1.Django文件上传至Form方式 2.原生Ajax文件上传提交表单 使用原生Ajax好处:不依赖jquery,在发送一个很小的文件或者字符串的时候就可以用原生A ...
- SPRING IN ACTION 第4版笔记-第六章RENDERING WEB VIEWS-002- Spring的JSP标签之form标签(<sf:input><sf:errors><sf:form>)
一. Spring offers two JSP tag libraries to help define the view of your Spring MVC web views. One tag ...
- Form标签+Css基础
一.Form表单标签 <form action="" method=""></form> 表单就是用来将用户的信息提交到服务器 ...
- 表单相关标签之form标签
表单能够包含 input 元素,比如文本字段.复选框.单选框.提交按钮等等. 表单还可以包含 menus.textarea.fieldset.legend 和 label 元素以及其它块级元素 表单用 ...
随机推荐
- Linux学习1-创建虚拟机
VMware安装非常简单,使用默认安装就可以,VMware尽量使用低版本的软件,这样可以降低系统的消耗 1.新建一个虚拟机 2.直接选择默认的典型安装 3.选择安装来源:此处选择最后一 ...
- Swift 函数调用到底写不写参数名
最近真正开始学 Swift,在调用函数的时候遇到一个问题:到底写不写函数名? 我们来看两个个例子: // 1 func test(a: Int, b: Int) ->Int { return a ...
- mac 下mongodb connect failed 连接错误
我是用brew install mongod 安装的 MongoDB shell version v3.4.2connecting to: mongodb://127.0.0.1:270172017- ...
- [js常用]连续播放音频
许多音频连续播放.有的时候音频过大会分成多个音频.播放的时候需要连续播放 <!DOCTYPE HTML> <html> <head> <meta charse ...
- vscode 代码跳转之PHP篇
1.安装插件:PHP IntelliSense 2.配置:"php.executablePath": "C:\\php\\php.exe", 但是目前有问题,跨 ...
- c# 后台异步请求接口
第一步:引用程序集:Systen.Net.Http 第一种方式: 异步 Get请求 HttpClient client = new HttpClient(); //client. ...
- 润乾V4的最小化部署方式
在接触到的很多项目实际应用中,部署润乾V4都是使用润乾V4设计器自带的WEB发布向导,直接生成webRoot目录,然后将该目录下的所有文件COPY到项目目录下,然后修改web.xml文件和rep ...
- ubuntu 下mysql导入出.sql文件
1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导 ...
- Spring MVC 4常用的那些注解
Spring从2.5版本开始在编程中引入注解,用户可以使用@RequestMapping, @RequestParam, @ModelAttribute等等这样类似的注解.到目前为止,Spring的版 ...
- 基于NSString处理文件的高级类
基于NSString处理文件的高级类 我已经把处理文件的类简化到了变态的程度,如果你还有更简洁的方法,请告知我,谢谢! 使用详情: 源码: // // NSString+File.h // Maste ...