2012-08-07 120 views
5

我想知道什么最好的方法来检查输入类型=“字段”字段是否可用于用户?检查用户是否可以上传文件的最佳方法是什么?

至少iPhone和iPad不允许用户上传文件,而不是用后端代码检查用户代理,我想听听你认为最简约的解决方案吗?

目的是检查文件upoads是否可用,如果没有,设置display:none;包含表单的整个div。

这只能用css完成吗? jQuery的?

我宁愿一个解决方案,不明确不检查是否(iOS),而是做一个更通用的检查。

预先感谢您!

+0

如果您不允许opera mini访问磁盘,它也会自动将文件上传输入字段转换为文本类型。我也想知道解决方案。 – Prasanth 2012-08-07 10:28:01

回答

12

最优雅的方式来处理这个作为今天可能使用Modernizr这在其最新版本允许你测试与下面的JS语句文件输入支持:

if(Modernizr.fileinput) { 
    //file input available! 
} else { 
    //No file input :(
} 

另外,如果你不这样做希望包括Modernizr的在您的项目有一个简单的方式来测试它仅涉及3行代码:作为this SO answer描述

var elem = document.createElement('input'); 
elem.type = 'file'; 
return !elem.disabled; 

+1

太棒了,但感觉有点沉重,要加载一个函数的完整库。 – jonas 2012-08-07 10:27:18

+0

@jonas更新:) – Mahn 2012-08-07 10:28:37

+1

[在Modernizr文档中找到。](http://miketaylr.com/code/input-type-attr.html) – Prasanth 2012-08-07 10:32:46

相关问题