2012-07-10 18 views

Respuesta

60

HTML

<input id="upload" type="file"/> 
<a href="" id="upload_link">Upload your photo</a>​ 

CSS

#upload{ 
    display:none 
} 

JS

$(function(){ 
    $("#upload_link").on('click', function(e){ 
     e.preventDefault(); 
     $("#upload:hidden").trigger('click'); 
    }); 
}); 

​DEMO.

+2

Solución realmente inteligente. Es claramente la respuesta correcta, y hubiera pasado horas tratando de resolver esto desde cero. Gracias. – usumoio

+1

Bienvenido y feliz año nuevo @usumoio :-) –

2

puede ordenar una <input> etiqueta oculta que pueda entonces llama $('#upload').click() encendido para simular un clic.

O bien, puede tener una etiqueta oculta <input> que tenga una identificación, y luego simplemente agregue un atributo de etiqueta a su enlace.

+0

Por favor, da un ejemplo de tu segunda opción. – Pyol7

6

seguir la voluntad resuelve el problema

html

<input id="upload-file" type="file"/> 
<a id="fileupload">Upload your photo</a> 

css

#upload-file{ 
    display: none; 
}​ 

js

$("#fileupload").click(function(){ 
    $("#upload-file").click(); 
});​ 

http://jsfiddle.net/WXBKj/

Cuestiones relacionadas