js动态在form上插入enctype=multipart/form-data的问题
发布时间:2020-12-14 23:42:59 所属栏目:资源 来源:网络整理
导读:我们都知道要让form能提交文件,需要在form上指定enctype=multipart/form-data的attribute,这样才能上传文件,关于enctype的文章很多,就不再做解释。 问题是因为使用了MVC的Html.BeginForm()来输出表单代码,默认是没有加入enctype的, 复制代码 代码如下:
我们都知道要让form能提交文件,需要在form上指定enctype=multipart/form-data的attribute,这样才能上传文件,关于enctype的文章很多,就不再做解释。 问题是因为使用了MVC的Html.BeginForm()来输出表单代码,默认是没有加入enctype的, 复制代码 代码如下: @using (Html.BeginForm()) { } 在PartialView中有一个<input type="file" />用来上传文件,又不想为了这个PartialView去修改父页面的Html.BeginForm(),我的做法是在PartialView中用脚本来为form加入enctype: 复制代码 代码如下: $(function(){ $('#file').parents('form').attr('enctype','multipart/form-data'); }); 最近的主流浏览器都测试通过没问题,唯独IE的几个旧版本出问题,试了手工在Html.BeginForm()中加入enctype是可以解决问题的,说明问题出在以上的脚本。多方查找终于发现出题出现在于IE6,7,8不支持直接attr('enctype','multipart/form-data'),而是设置dom属性encoding='multipart/form-data',最终的脚本代码修改为: 复制代码 代码如下: $(function () { $('#file').parents('form').attr('enctype','multipart/form-data').get(0).encoding = 'multipart/form-data'; }); 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- html – 在Firefox中获取已停用的滚动条
- html – Bootstrap导航栏汉堡包图标不垂直对齐
- .net – 在部署/发布后自动加密web.config的各个部分?
- reactjs – 当index.html在create-react-app部署中发生更改
- 使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
- 开发实战分享|小程序扫码获取图书信息(内附详细教程)
- html – Twitter Bootstrap 3删除一行和第12列的右边距和填
- html – 除了文本元素之外,CSS nowrap?
- domain-name-system – 通配符是与Exchange服务器兼容的记录
- 单页面应用程序 – 使用Progressive Web Apps(PWA)指南带来