I am currently doing the front end for a site with looooads of forms, all styled up and looking pretty in IE, but I\'ve just noticed that in Firefox the file input fields ar
Many of the answers above are quite old. In 2013 a much simpler solution exists: nearly all current browsers...
pass through click events from labels. Try it here: http://jsfiddle.net/rvCBX/7/
however you you would like your file upload to be.for="someid" attribute on the label element, that's hidden.Clicking the label will passthrough the event to the fileupload in Chrome, IE, and Safari.
Firefox requires a very small workaround, which is detailed in this answer.