js动态在form上插入enctype=multipart/form-data的问题


Posted in Javascript onMay 24, 2012

我们都知道要让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'; 
});
Javascript 相关文章推荐
不安全的常用的js写法
Sep 15 Javascript
node.js中的http.request.end方法使用说明
Dec 10 Javascript
javascript实现的猜数小游戏完整实例代码
May 10 Javascript
javascript运算符——位运算符全面介绍
Jul 14 Javascript
js仿QQ邮箱收件人选择与搜索功能
Feb 10 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
May 11 Javascript
vue中页面跳转拦截器的实现方法
Aug 23 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
Nov 03 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
Dec 26 Javascript
微信小程序实现单选功能
Oct 30 Javascript
基于JS实现父组件的请求服务过程解析
Oct 14 Javascript
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
javascript中关于break,continue的特殊用法与介绍
May 24 #Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
May 24 #Javascript
JavaScript之编码规范 推荐
May 23 #Javascript
javascript的数据类型、字面量、变量介绍
May 23 #Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
May 23 #Javascript
通过js动态操作table(新增,删除相关列信息)
May 23 #Javascript
JavaScript基础语法让人疑惑的地方小结
May 23 #Javascript
You might like
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
在PHP中利用XML技术构造远程服务(上)
2006/10/09 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
javascript静态的url如何传递
2007/05/03 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
2016/08/05 Javascript
详解Bootstrap的iCheck插件checkbox和radio
2016/08/24 Javascript
jQuery自定义组件(导入组件)
2016/11/08 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
Vue全家桶实践项目总结(推荐)
2017/11/04 Javascript
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
AngularJS与BootStrap模仿百度分页的示例代码
2018/05/23 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
微信小程序图表插件wx-charts用法实例详解
2019/05/20 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
Python运行的17个时新手常见错误小结
2012/08/07 Python
Python文件夹与文件的操作实现代码
2014/07/13 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
django用户注册、登录、注销和用户扩展的示例
2018/03/19 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
毕业生简单求职信
2013/11/19 职场文书
国旗下演讲稿
2014/05/08 职场文书
信用卡工资证明格式
2014/09/13 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
2015高考寄语集锦
2015/02/27 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python