在不同浏览器中实现动态控制enctype

  相信做过上传的人都知道下面的这段代码

# <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');   
#   }   
 
阅读更多

没有更多推荐了,返回首页