2012-08-07 10 views
5

Me pregunto cuál es la mejor manera de verificar si el tipo de entrada = "campo" está disponible para el usuario?¿Cuál es la mejor manera de verificar si el usuario puede cargar archivos?

Al menos iPhones y iPads no le permiten al usuario subir archivos, pero en lugar de verificar el agente de usuario con código de servidor me gustaría saber cuál es la solución más minimalista.

El propósito es comprobar si el archivo upoads está disponible, si no, configure la pantalla: ninguno; para todo el div que contiene la forma.

¿Se puede hacer esto solo con CSS? jQuery?

Preferiría una solución que no explícitamente no verifica si (iOS) pero hace una comprobación más genérica.

¡Gracias de antemano!

+0

Si no proporciona acceso mini de ópera al disco, también convertirá los campos de entrada de carga de archivo a texto de forma automática. Me gustaría saber la solución también. – Prasanth

Respuesta

12

La forma más elegante de manejar esto a partir de hoy probablemente está usando Modernizr que en su última versión permite poner a prueba el apoyo de entrada de archivo con la siguiente afirmación JS:

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

Alternativamente, si no lo hace desear incluir Modernizr en su proyecto no es un simple una forma de probar por ello que sólo consiste en 3 líneas de código:

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

Como se describe en this SO answer.

+1

Genial, pero se siente un poco pesado cargar una biblioteca completa para una función. – jonas

+0

@jonas actualizado :) – Mahn

+1

[se encuentra en la documentación de Modernizr.] (Http://miketaylr.com/code/input-type-attr.html) – Prasanth

Cuestiones relacionadas