首页 新闻 会员 周边

怎么在ie8,ie9上进行图片批量上传

0
[已解决问题] 解决于 2017-11-17 11:04

我一开始用的uploadify控件,但浏览按钮不可点,ie8,9不支持图片多选,后来用bootstrap-fileinput,依然不兼容,点浏览按钮不可用,哪位大神解解惑,小白一枚再次感谢!

问题补充:

通过这几天的摸索,发现没有兼容IE8,9的图片批量上传,一般官方的都是支持IE10以上的,看来只能苦逼的一个一个上传了

但乱红尘熊的主页 但乱红尘熊 | 小虾三级 | 园豆:773
提问于:2017-11-16 10:44
< >
分享
最佳答案
1
 1 <html>
 2     <body>
 3         <style>
 4             #file-area input{
 5                 display: none;
 6             }
 7         </style>
 8         
 9         <ul id="file-list">
10         </ul>
11         <form action="youhref" method="post">
12             <div id="file-area">
13                     <input data-id="0" type="file">
14             </div>
15                 <input type="button" id="select-file" value="Select File" />
16                 <input type="submit" value="submit"/>
17         </form>
18         <script src="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.min.js" ></script>
19         <script>
20             var count = 0;
21                 $("#select-file").click(function(){
22                     $("#file-area").children().last().click();
23                 });
24                 $("#file-area").on("change", "input",function(){
25                     var li = $("#file-list li[data-id='"+$(this).data("id")+"']");
26                     console.log(li)
27                     if(li.length == 0)
28                     {
29                         li = $('<li data-id="'+(count++)+'"></li>').append("<span></span><i>X</i>");
30                         $("#file-list").append(li);
31                         $("#file-area").append('<input data-id="'+count+'" type="file">');
32 
33                     }
34                     li.find("span").html(this.value);
35                 })
36                 $("#file-list").on("click","i",function(){
37                     var li = $(this).parent();
38                     $("#file-area input[data-id='"+li.data("id")+"']").remove();
39                     li.remove();
40                 })
41                 $("#file-list").on("click","span",function(){
42                     $("#file-area input[data-id='"+$(this).parent().data("id")+"']").click();
43                 })
44         </script>
45     </body>
46 </html>

试一下这个,考虑到你会用到bootstrap,用了委托式绑定的事件,如果看不惯,可以改成live,效果一样的。

然后在提交的之前,记得给所有的input file的name属性赋值。例如给你的submit绑个click。

这个方法是我随便写的,依旧解决不了文件弹窗只能选择一个问题,但是至少提交能提交多个了。相信这个交互你的你的上帝们也能接受接受,比起按住ctrl一个一个选来的强

奖励园豆:5
写代码的相声演员 | 小虾三级 |园豆:517 | 2017-11-17 10:53

谢了,老铁,目前感觉也只有这个方法最合适了,在此万分感谢。

但乱红尘熊 | 园豆:773 (小虾三级) | 2017-11-17 11:02
其他回答(1)
1

bootstrap-fileinput支持的浏览器:https://caniuse.com/#search=multiple%20file

其实我建议ie11以下的就不管了 如果非要支持ie8或者ie9,试试下面这款

http://www.jq22.com/jquery-info230

ycyzharry | 园豆:25651 (高人七级) | 2017-11-16 11:06

嗯,知道了,万分感谢,主要上帝在用,没办法啊。

支持(0) 反对(0) 但乱红尘熊 | 园豆:773 (小虾三级) | 2017-11-16 11:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册