$('#id').click();
Il ne fonctionne pas sur Chrome 26 sur Mac OS.
Le problème est en fait la création d'un widget "upload" qui peut être intégré dans un formulaire. Le widget sera composé de deux parties. La première partie est un div avec un bouton d'initialisation et des messages d'erreur/succès. Je pense que le moyen est de mettre un autre formulaire comme la deuxième partie avec l'entrée de fichier et de soumettre le fichier dans l'iframe. Après la soumission, nous remplissons le champ caché dans la première partie du formulaire principal ou nous montrons les erreurs dans le même formulaire.
Le moyen le plus simple est d'ajouter le formulaire de fichier au formulaire principal, mais c'est interdit.