相信做过上传的人都知道下面的这段代码
# <form id="upform" name="upform" action="upload.php" method="post" enctype="multipart/form-data">
# <input type="file" name="uploadfile" />
# <button type="submit" >upload</button>
# <form>
现在有如下的两个需求
1、要动态的控制enctype
2、要实现不同的浏览器支持
刚开始的实现如下
# var form=document.getElementById('upform'); # if(form.getAttribute('enctype')!='multipart/form-data'){ # form.setAttribute('enctype','multipart/form-data'); # }
经过测试,你就会发现,此实现只能支持FireFox,不能支持IE,到底是为什么呢?
研究发现,IE中不存在enctype,SO,下面的代码可以成功的实现上面的两个需求
# var form = document.getElementById('upform'); # if(form.encoding){ # form.setAttribute('encoding','multipart/form-data'); # }else{ # form.setAttribute('enctype','multipart/form-data'); # }