关于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 元素以及其它块级元素 表单用 ...
随机推荐
- UVA11624(KB1-J)
Fire! Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of ...
- Python标准模块--concurrent.futures 进程池线程池终极用法
concurrent.futures 这个模块是异步调用的机制concurrent.futures 提交任务都是用submitfor + submit 多个任务的提交shutdown 是等效于Pool ...
- Ubuntu双系统环境下隐藏掉其他开机启动项
系统环境:ubuntu16.04需求:PC装的双系统(ubuntu+win10),为了应对某些需求,需要将win10系统给从电脑上消失,让你看不见也进不去它.做法:当然不可能真的删除掉win10系统, ...
- YII关联查询
原文链接:http://keshion.iteye.com/blog/1607994 一.多表关联的配置 在我们使用 AR 执行关联查询之前,我们需要让 AR 知道一个 AR 类是怎样关联到另一个的. ...
- BZOJ3238: [Ahoi2013]差异(后缀自动机)
题意 题目链接 Sol 前面的可以直接算 然后原串翻转过来,这时候变成了求任意两个前缀的最长公共后缀,显然这个值应该是\(len[lca]\),求出\(siz\)乱搞一下 #include<bi ...
- 前端学习之HTML(1)
HTML标签学习 2018-10-31 记录一下学习的网站 http://www.w3school.com.cn http://www.runoob.com/ <!DOCTYPE html> ...
- VMware桥接模式下主机和和虚机间互相ping不通的处理方法
在 "编辑"->"虚拟网络编辑器" 里面的vmnet0 桥接模式 里面是自动连接,把他改为真实的物理网卡即可,如下图:
- webstorm忽略node_modules目录
我在使用了cnpm后node_modules之前的层级目录变成了同一级目录,所以目录很多,造成webstorm读取时卡死. 网上大家列了各种方法,在这里我归纳一下! 先给大家看看一些相关链接. 方法1 ...
- ExpressRoute 线路预配工作流和线路状态
本页从较高层面引导你完成服务预配和路由配置工作流. 下图和相应的步骤说明了预配端到端 ExpressRoute 线路所要执行的任务. 使用 PowerShell 配置 ExpressRoute 线路. ...
- (matlab)plot画图的颜色线型(转)
http://wenku.baidu.com/link?url=SVVMVH8QlDIu2hVKDtoBYs6l0CnQvFnFHJJ9yexmYVKQqhz47qIr7aK7LOf8nN0qNdy8 ...