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 相关文章推荐
关于jQuery参考实例 1.0 jQuery的哲学
Apr 07 Javascript
获取内联和链接中的样式(js代码)
Apr 11 Javascript
在表单提交前进行验证的几种方式整理
Jul 31 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
Aug 24 Javascript
微信小程序中显示html格式内容的方法
Apr 25 Javascript
微信小程序开发animation心跳动画效果
Aug 16 Javascript
JavaScript中set与get方法用法示例
Aug 15 Javascript
10行代码实现微信小程序滑动tab切换
Dec 28 Javascript
通过js给网页加上水印背景实例
Jun 17 Javascript
微信小程序sessionid不一致问题解决
Aug 30 Javascript
通过vue写一个瀑布流插件代码实例
Sep 07 Javascript
解决await在forEach中不起作用的问题
Feb 25 Javascript
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
php出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
angularJS 入门基础
2015/02/09 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
2020/07/19 Javascript
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
从Python的源码来解析Python下的freeblock
2015/05/11 Python
python实现简易数码时钟
2021/02/19 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
Python读取分割压缩TXT文本文件实例
2020/02/14 Python
高一化学教学反思
2014/02/05 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
保证书范文大全
2014/04/28 职场文书
汽车运用工程专业求职信
2014/06/18 职场文书
安全责任书范文
2014/08/25 职场文书
教师群众路线剖析材料
2014/09/29 职场文书
男方婚礼答谢词
2015/01/20 职场文书
2015新学期开学寄语
2015/02/26 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
无保留意见审计报告
2015/06/05 职场文书
地雷战观后感
2015/06/09 职场文书
Python中for后接else的语法使用
2021/05/18 Python