有狗吼 2014-12-06 06:14 采纳率: 100%
浏览 8078
已采纳

input file 文件类型(手机无效)

请问一下 下面这段JS为什么在电脑能正确运行,手机上却无效?

  $(".add_file input").change(function(){
            var _t =this.files[0];
            if(_t.size > 512000000){
                alert("文件太大了");
            }
            else{
                if(_t.type.indexOf('image') >= 0){
                    $(this).parent('li').addClass('change');

                }else if(_t.type.indexOf('text')>=0) {
                    $(this).siblings('.preview').html('<i class="icon-file-pdf"></i><p>'+_t.name+'</p>');
                    $(this).parent('li').addClass('change');
                }else if(_t.type.indexOf('audio')>=0) {
                    alert("是音频");
                }else if(_t.type.indexOf('video')>=0) {
                    alert("是视频");
                }else if(_t.type.indexOf('zip')>=0) {
                    alert("是压缩包");
                }else{
                    alert('不支持')
                }
            }
        }) ;

谢谢。

  • 写回答

6条回答

  • Go 旅城通票 2014-12-06 12:19
    关注

    android chrome测试你的这个代码没有问题,应该是你使用的浏览器对this.files支持有问题

    而且你的再IE8-电脑也无法运行,ie file对象没有files属性

    检查文件类型可以用判断下后缀,大小再ie下无解,而且也最好再服务器端再验证过一次。

     if(!/\.(txt|jpg|bmp|png|gif|zip|rar|mp3|mp4)$/i.test(this.value)){//其他的后缀自己添加
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算