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

问题描述

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('不支持')
                }
            }
        }) ;

谢谢。

解决方案

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

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

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

 if(!/.(txt|jpg|bmp|png|gif|zip|rar|mp3|mp4)$/i.test(this.value)){//其他的后缀自己添加

}

解决方案二:

要是从文件管理器里选还 是正确的。但是从相机、相册里打开就不行

解决方案三:

手机内置的web浏览器和电脑有差异的,cookie在电脑上实现的挺好,但在手机上就有问题了,换个方法吧

解决方案四:

谢谢两位,我后来又做了些测试,发现只是小米自带的浏览有这个问题。

(真该换手机了)

再次感谢showbo 同学,我没打算支持IE9以下。

解决方案五:

 <div>无奇不有</div>
时间: 2024-10-27 20:07:06

inputfile-input file 文件类型(手机无效)的相关文章

Javascript美化input=file文件上传控件

[实例名称] JS实现文件上传一次性完成 [实例描述] 默认的HTML控件file可以实现文件的上传,但必须经过选择文件和单击上传按钮两个步骤.本例学习如何实现一步上传文件的操作. 例子  代码如下 复制代码 <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>标题页-学无忧(www.111cn.net)</title> </head> <body>

css Input file 文件选择框美化 支持Firefox

在ff2,ie7,ie6下测试通过,这款css教程 input file 文件选择框美化 支持firefox效果我想很不错的.  代码如下 复制代码 <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.

PHP 多input file文件上传

前台html jquery代码 后台PHP处理 前台html 图片上传 ** 注意name的写法,都要使用name[]方式,并且用同一个name ** 注意带有file的表单,form一定要加:enctype="multipart/form-data" jquery 提交form表单 $(#form).form('submit',{ url:url, success:function(data){ //处理返回数据 } }); PHP 后台处理 //接收处理文件 $fileArray

用CSS美化input file按钮的方法

我们在做表单的情况下,input.textarea.button的样式比较容易定义,select和input file的样式难以定义. input file在系统默认下的外观: 我们最多通过定义input的border来改变系统默认的外观: 如果要让浏览按钮更漂亮一点,我们想定义它的背景颜色,甚至想用背景图片来代替,通过css定义input flie还真是办不到的.偶然看到一篇文章:input file 文件选择框美化 作者是把系统默认的按钮设置透明度为0,再定义一个label标签样式,来覆盖透

HTML &amp;lt;input&amp;gt; accept 属性-规定能够通过文件上传进行提交的文件类型

定义和用法 文章地址: http://www.w3school.com.cn/tags/att_input_accept.asp accept 属性规定了可通过文件上传提交的服务器接受的文件类型. 注意:accept 属性仅适用于 <input type="file">. 提示:请不要将该属性作为您的验证工具.应该在服务器上对文件上传进行验证. 实例 规定在文件上传中服务器只接受图像文件: <form> <input type="file&quo

js获取判断上传文件input=file后缀名的例子

例子  代码如下 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=

android-添加一个文件类型的打开方式 无效

问题描述 添加一个文件类型的打开方式 无效 通过下列的方式添加一个文件类型的打开方式,没有生效 <intent-filter android:icon="@drawable/icon" android:label="my app" android:priority="1" > <action android:name="android.intent.action.VIEW" /> <categor

java中如何获取前台input file 传的文件的大小?

问题描述 java中如何获取前台input file 传的文件的大小? 前台页面 <input type="file" id="f"> 如何在后台java中获取此上传文件的大小? 解决方案 File file = new File(yourfile); FileInputStream fis = null; try { fis = new FileInputStream(file); return fis.available() / 1024; } ca

JavaScript实现清空(重置)文件类型INPUT元素值的方法_javascript技巧

本文实例讲述了JavaScript实现清空(重置)文件类型INPUT元素值的方法.分享给大家供大家参考,具体如下: 因为安全限制,脚本是不能随意设置其value值的,所以并不能像其它表单输入域那样用属性来设置使其重置. 重置一个文件域的值,归纳起来主要有 3 种方法. 本文分析这三种方法的浏览器兼容性以及优缺点,并给出一个比较完美的综合方案的代码和Demo. 重置文件域的三种方法: 1. 设置value属性为空. 对于IE11以上和其它较新的非IE的现代浏览器Chrome/Firefox/Ope