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 相关文章推荐
input输入框的自动匹配(原生代码)
Mar 19 Javascript
input链接页面、打开新网页等等的具体实现
Dec 30 Javascript
解决jquery中美元符号命名冲突问题
Jan 08 Javascript
Javascript 赋值机制详解
Nov 23 Javascript
javascript的document中的动态添加标签实现方法
Oct 24 Javascript
jQuery选择器实例应用
Jan 05 Javascript
利用iscroll4实现轮播图效果实例代码
Jan 11 Javascript
Vue如何实现响应式系统
Jul 11 Javascript
详解关于微信setData回调函数中的坑
Feb 18 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
Apr 24 Javascript
vue3.0 的 Composition API 的使用示例
Oct 26 Javascript
小程序中手机号识别的示例
Dec 14 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
linux下 C语言对 php 扩展
2008/12/14 PHP
php adodb连接mssql解决乱码问题
2009/06/12 PHP
深入php之规范编程命名小结
2013/05/15 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
php和asp语法上的区别总结
2019/05/12 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
2010/03/17 Javascript
js有序数组的连接问题
2013/10/01 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
React教程之Props验证的具体用法(Props Validation)
2017/09/04 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
vuex 中插件的编写案例解析
2019/06/10 Javascript
python numpy--数组的组合和分割实例
2020/02/24 Python
Python中三维坐标空间绘制的实现
2020/09/22 Python
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
介绍下WebSphere的安全性
2013/01/31 面试题
质检部部长职责
2013/12/16 职场文书
中秋寄语大全
2014/04/11 职场文书
小学教师个人先进事迹材料
2014/05/17 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android