web-dev-qa-db-fra.com

Le type d’entrée HTML = "fichier" dans Google Chrome ne montre pas la fenêtre contextuelle

J'ai un problème avec la balise HTML <input type="file" /> dans Google Chrome.

Le bouton "Parcourir" apparaît normalement sur la page, mais lorsque je clique dessus pour sélectionner un fichier, la fenêtre de dialogue contextuelle du navigateur ne s'ouvre pas du tout.

J'ai testé mon formulaire et Firefox et fonctionne correctement. Toutes les idées qui ne vont pas et comment puis-je résoudre ce problème?

Voici aussi le code:

<form action="" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<label for="imgfile">File input</label>
<input type="file" name="imgfile" />
9
Lykos

Il n'y a aucune raison pour que cela ne fonctionne pas dans Chrome. Avez-vous essayé de copier JUSTE la marque dans l'exemple que vous nous avez donné dans un fichier HTML et de l'ouvrir? Est-ce que ça marche? Cela devrait l'être, à moins qu'un plugin ou une extension tierce ne l'arrête.

Il se peut que vous ayez des annotations ailleurs causant ce problème; peut-être une couche au-dessus du champ de saisie capturant l'événement click avant qu'il ne soit redirigé jusqu'au bouton "parcourir"?

5
Philip Bennison

Dans mon cas, le problème était le suivant:

  1. Tout le document avait un "gestionnaire de clics"
  2. Dans le clic-clic, le code annulait toute propagation avec 

    retourne faux;

Supprimer cette instruction de retour a résolu le problème avec input = file.

6
Mitja Gustin

Le fichier de type en entrée peut ne pas fonctionner pour deux raisons.

  1. L'entrée de type de fichier a pour style visibilité: masqué. Pour masquer l'entrée, utilisez l'opacité: 0.
  2. Il peut y avoir un événement click sur le document ou l'élément parent qui résiste au clic sur la balise input.
3
Shahrukh Azeem