HTML-Eingabetyp = „Datei“ in Google Chrome zeigt kein Popup-Fenster an

Lesezeit: 7 Minuten

Benutzeravatar von ltdev
ltdev

Ich habe ein Problem mit dem HTML-Tag <input type="file" /> im Google Chrome.

Die Schaltfläche „Durchsuchen“ wird wie erwartet auf der Seite angezeigt, aber wenn ich darauf klicke, um eine Datei auszuwählen, wird das Popup-Dialogfenster des Browsers überhaupt nicht geöffnet.

Ich habe mein Formular auch in Firefox getestet und funktioniert korrekt. Irgendwelche Ideen, was falsch ist und wie ich es beheben kann?

Hier ist auch der Code:

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

  • Eingang sollte drin sein <form> Schild

    – Orlo

    7. März 2014 um 8:55 Uhr

  • Ich kann dies auf der neuesten Version von Chrome nicht replizieren: jsfiddle.net/j43C3

    – James Donnelly

    7. März 2014 um 8:56 Uhr


  • @Orlo Das sollte keinen Unterschied machen. Das Dialogfeld sollte unabhängig vom Vorhandensein des Formular-Tags angezeigt werden

    – asprit

    7. März 2014 um 8:56 Uhr

  • Ich glaube, Ihre Antwort ist hier: stackoverflow.com/questions/5260747/…

    – SuperRetro

    7. März 2014 um 8:57 Uhr

  • @Lykos hört sich so an, als ob es sich um ein Plugin handelt, das das Element stört.

    – James Donnelly

    7. März 2014 um 9:03 Uhr

Dies ist mir in Chrome v88.0 passiert, und ich habe alles versucht – alle Event-Handler entfernt, die einfachste Form möglich gemacht, alle anderen HTML- und js-Dateien von der Seite entfernt – und immer noch wurde das Dialogfeld zur Dateiauswahl nicht angezeigt Klicken Sie auf die Schaltfläche “Datei auswählen”.

Dann habe ich Chrome heruntergefahren und wieder geöffnet … und es hat wieder funktioniert.

Goldener Rat:

Hast du schon versucht, es aus- und wieder einzuschalten?

  • rette meinen Tag – thx

    – Kamil Kielczewski

    19. Januar um 19:26 Uhr

  • Retten Sie meinen Tag, aber neugierig, was hier das Problem ist?

    – Vishwesh Jainkuniya

    2. Februar um 10:20 Uhr

  • Bei mir auch gleich. Ich musste den Chrome-Browser einfach neu starten, nachdem ich fast 30 Minuten lang den Code überflogen hatte, um den Teil herauszufinden, der dieses Problem verursachen könnte!!!!

    – Tamil Vendhan Kanagarasu

    4. Februar um 13:30 Uhr


  • @VishweshJainkuniya, ich glaube, ich weiß warum! Nach dem Neustart von Chrome habe ich aus Entwicklungsgründen die Browserkonsole geöffnet. Mir wurde die Meldung „Google Chrome aktualisiert“ angezeigt. Möglicherweise könnte dies das Problem verursacht haben. Chrome wurde im Hintergrund aktualisiert und das hätte verhindern können, dass das Dateidialogfeld geöffnet wurde.

    – Tamil Vendhan Kanagarasu

    4. Februar um 13:34 Uhr

  • @Niklas sieht aus wie ein Versuch von Browseranbietern, sicherzustellen, dass die Leute ihre Browser aktualisieren. Unterbrechen Sie alle Websites, damit der Benutzer den Browser neu startet, und wenden Sie das heruntergeladene Browser-Update während des Neustarts an

    – FrankenCode

    24. März um 8:18 Uhr


Bei mir war das Problem wie folgt:

  1. Das gesamte Dokument hatte einen “on click handler”
  2. Innerhalb des Click-Handers brach der Code die gesamte Weitergabe ab

    falsch zurückgeben;

Das Entfernen dieser return-Anweisung löste das Problem mit input=file.

  • Bingo. Vielen Dank.

    – Lev Chlumov

    28. November 2018 um 19:24 Uhr

  • Mein Problem war ähnlich, außer dass event.preventDefault() aufgerufen wurde. Es scheint, dass das Klickereignis an alle Ereignishandler weitergegeben wird, und dann die Standardaktion ausgeführt wird, wenn sie nicht verhindert wurde. Ich hatte fälschlicherweise angenommen, dass die Standardaktion des untergeordneten Elements auftreten würde, bevor das Ereignis an das übergeordnete Element weitergegeben wird.

    – Benutzer2880616

    17. April 2019 um 15:17 Uhr

  • Du rettest mich, vielen Dank

    – AMATEUR_TOSS

    13. Oktober 2021 um 7:48 Uhr

  • Szenario: Sie haben ein äußeres Div (D1) und ein inneres Div (D2). beide haben onclick-Handler. Wenn Sie Klickereignisse von D1 abbrechen, indem Sie die Ausbreitung stoppen usw., und auf D2 klicken, wird dieser Klick NICHT blockiert, da der Klick-Handler von D2 (inner) früher als D1 ausgelöst wird. Aber für den Eingabetyp = Datei ändern sich die Dinge, wenn Sie Eingabetyp = Datei in D2 hinzufügen und darauf klicken, wird das Popup nie angezeigt.

    – Bankdrücker

    24. März um 14:06 Uhr

  • Bingo, danke für die Erinnerung. Es stellte sich heraus, dass ich einen anderen Click-Even-Handler hatte, der nicht spezifisch genug war und daher auch das Click-Ereignis für die Eingabe regelte und effektiv false zurückgab, da der Eingabe ein erforderliches Attribut fehlte.

    – Kay Angevare

    15. August um 10:01 Uhr

Es gibt keinen Grund, warum dies in Chrome nicht funktionieren sollte. Haben Sie versucht, NUR das Markup in dem Beispiel, das Sie uns gegeben haben, in eine HTML-Datei zu kopieren und diese zu öffnen? Funktioniert es? Es sollte, es sei denn, es gibt ein Plugin oder eine Erweiterung eines Drittanbieters, das es stoppt.

Möglicherweise haben Sie an anderer Stelle Markierungen, die dieses Problem verursachen. Vielleicht eine Schicht über dem Eingabefeld, die das Klickereignis abfängt, bevor es zur Schaltfläche “Durchsuchen” gelangen kann?

  • Es scheint, dass ein Plugin (Colorzila), das ich auf Chrome installiert hatte, es gestoppt hat. Ich habe es deaktiviert, Chrome neu gestartet und schließlich funktioniert.

    – ltdev

    7. März 2014 um 9:13 Uhr

  • Gut zu wissen! Darauf werde ich in Zukunft achten. Danke für die Rückmeldung.

    – Philipp Bennison

    7. März 2014 um 9:27 Uhr

  • Bei mir ist das gleiche Problem aufgetreten. Ich habe alle meine Plugins deaktiviert, Chrome neu gestartet und es hat wieder funktioniert. Als ich jedoch alle meine Plugins wieder aktiviert und Chrome neu gestartet habe, funktionierte es immer noch. Sehr komisch!

    – mezoide

    10. April 2014 um 6:55 Uhr

  • Eine gute Möglichkeit, um zu testen, welches Plugin/welche Plugins dies verursachen, besteht darin, jedes Mal eines nach dem anderen zu deaktivieren und es zu testen. Trotzdem sehr seltsam, da dies in Firefox (noch) nicht aufgetreten ist.

    – ltdev

    24. Juli 2014 um 6:32 Uhr


  • In meinem Fall habe ich die Klickereignisse für ein Popup-Menü abgebrochen, also musste ich ändern, um e.target.type !== ‘file’ zu überprüfen.

    – Timmerz

    18. Dezember 2014 um 5:11 Uhr

Ich wusste, dass das Problem kein Problem mit der spezifischen Webseite war, die ich gerade durchsuchte, weil ich zu Codepen ging und verschiedene Datei-Uploader ohne Erfolg ausprobierte.

In meinem spezifischen Szenario hatte ich vor ein paar Tagen ein Chrome-Update ausgeführt, Chrome nach dem Update jedoch nicht neu gestartet.

Beim Navigieren zu Hilfe > Über Google Chrome hatte mich Google darauf hingewiesen, dass ein Relaunch notwendig sei.

Nach dem Neustart wurde die native Dateiauswahl des Browsers wieder angezeigt.

Ich hatte das gleiche Problem, es würde in Safari funktionieren, aber nicht in Chrome. Es stellte sich heraus, dass ich nur meinen Chrome-Browser aktualisieren musste. Anscheinend, wenn Ihre Chrome-Version um zwei Wochen veraltet ist, wird die Funktionalität, die es seit über einem Jahrzehnt gibt, unterbrochen … Sie kennen Google Engineering vom Feinsten …

  • Vielen Dank!!! Ich habe Tage (nicht Stunden) mit dieser blöden Einschränkung verbracht.

    – Rahi

    2. November 2021 um 15:24 Uhr

  • Plötzlich funktionierte die Schaltfläche “Durchsuchen” nicht in Chrome, sondern in Safari. Nach dem Aktualisieren der Chrome-Version funktionierte sie ordnungsgemäß.

    – Jayground

    11. Februar um 4:35 Uhr

  • Gibt es eine Möglichkeit, programmatisch zu erkennen, wann dieses Problem auftritt? Gibt der Browser einen Fehler aus oder zeigt an, dass die Eingabeschaltfläche deaktiviert wurde? Können Programmierer überprüfen, ob die <input type="file"/> funktioniert vor dem Laden?

    – Franken Code

    24. März um 8:16 Uhr

  • Außerdem scheint es ein Versuch aller Browser-Anbieter zu sein, sicherzustellen, dass die Leute ihre Browser aktualisieren, weil ich gesehen habe, dass dieses Problem auch in Firefox auftritt. Der Ansatz scheint folgender zu sein: Unterbrechen Sie alle Websites, damit der Benutzer den Browser neu startet, und wenden Sie das heruntergeladene Browser-Update während des Neustarts an.

    – FrankenCode

    24. März um 8:27 Uhr


Benutzeravatar von Shahrukh Azeem
Shahrukh Azeem

Es kann zwei Gründe dafür geben, dass die Eingabedatei nicht funktioniert.

  1. Die Eingabe des Dateityps hat den Stil „Sichtbarkeit: Ausgeblendet“. Um die Eingabe auszublenden, verwenden Sie opacity:0.
  2. Es kann ein Klickereignis im Dokument oder übergeordneten Element geben, das dem Klick auf das Eingabe-Tag widersteht.

  • Vielen Dank!!! Ich habe Tage (nicht Stunden) mit dieser blöden Einschränkung verbracht.

    – Rahi

    2. November 2021 um 15:24 Uhr

  • Plötzlich funktionierte die Schaltfläche “Durchsuchen” nicht in Chrome, sondern in Safari. Nach dem Aktualisieren der Chrome-Version funktionierte sie ordnungsgemäß.

    – Jayground

    11. Februar um 4:35 Uhr

  • Gibt es eine Möglichkeit, programmatisch zu erkennen, wann dieses Problem auftritt? Gibt der Browser einen Fehler aus oder zeigt an, dass die Eingabeschaltfläche deaktiviert wurde? Können Programmierer überprüfen, ob die <input type="file"/> funktioniert vor dem Laden?

    – Franken Code

    24. März um 8:16 Uhr

  • Außerdem scheint es ein Versuch aller Browser-Anbieter zu sein, sicherzustellen, dass die Leute ihre Browser aktualisieren, weil ich gesehen habe, dass dieses Problem auch in Firefox auftritt. Der Ansatz scheint folgender zu sein: Unterbrechen Sie alle Websites, damit der Benutzer den Browser neu startet, und wenden Sie das heruntergeladene Browser-Update während des Neustarts an.

    – Franken Code

    24. März um 8:27 Uhr


Benutzeravatar von malipetek
Malipetek

Ich hatte kürzlich das gleiche Problem. Ein Neustart von Chrome hat es behoben. Gehe zu chrome://neustart es zu tun.

1430240cookie-checkHTML-Eingabetyp = „Datei“ in Google Chrome zeigt kein Popup-Fenster an

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy