Google Chrome中的HTML输入类型="文件"未显示弹出窗口

ltd*_*dev 9 html forms google-chrome input

<input type="file" />在Google Chrome中遇到HTML标记问题.

"浏览"按钮按预期显示在页面上,但是当我单击它以选择文件时,浏览器中的弹出对话框窗口根本不会打开.

我测试了我的表单并在Firefox中正常工作.任何想法有什么问题,我该如何解决?

这里也是代码:

<form action="" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<label for="imgfile">File input</label>
<input type="file" name="imgfile" />
Run Code Online (Sandbox Code Playgroud)

Luk*_*uke 61

这在 Chrome v88.0 上发生在我身上,我尝试了一切 - 删除所有事件处理程序,使最简单的形式成为可能,从页面中删除所有其他 html 和 js - 并且仍然不会出现文件选择对话框单击“选择文件”按钮。

然后我关闭 Chrome 并重新打开它......它又工作了。

黄金建议:

你试过把它关掉再打开吗?

  • 拯救我的一天 - 谢谢 (3认同)
  • 对我来说也一样。在浏览了近 30 分钟的代码后,我只需要重新启动 Chrome 浏览器即可找出可能导致此问题的部分!!!! (2认同)
  • @VishweshJainkuniya,我想,我知道为什么!重新启动chrome后,出于开发原因,我打开了浏览器控制台。我收到了 Google Chrome 更新消息。也许这可能导致了这个问题。Chrome 在后台进行了更新,这可能会阻止文件对话框打开。 (2认同)

Tim*_*yce 10

我知道问题不是我当前正在浏览的特定网页的问题,因为我去了 codepen 并尝试了各种文件上传器但无济于事。

在我的具体场景中,我几天前运行了 chrome 更新,但更新后无法重新启动 chrome。

导航到“帮助”>“关于 Google Chrome”时,Google 通知我需要重新启动。

重新启动后,浏览器本机文件选择器再次开始出现。


Mit*_*tin 9

就我而言,问题如下:

  1. 整个文档有一个"on click handler"
  2. 在点击汉堡内部,代码正在取消所有传播

    返回false;

删除此return语句解决了input = file的问题.

  • 答对了。谢谢。 (2认同)

小智 8

我遇到了同样的问题,它可以在 safari 中运行,但不能在 chrome 中运行。原来我只需要更新我的 chrome 浏览器。显然,如果你的 chrome 版本已经过时了两周,那么已经存在了十多年的功能就会中断……你就知道谷歌工程是最好的……


小智 5

没有理由认为这不适用于Chrome.您是否尝试过将您提供给我们的示例中的标记复制到HTML文件中并打开它?它有用吗?它应该,除非有一些第三方插件或扩展程序停止它.

可能是你在其他地方有标记造成了这个问题; 或许输入字段上的一个图层可以捕获点击事件,然后才能进入"浏览"按钮?

  • 似乎我在Chrome上安装的插件(Colorzila)正在阻止它.我停用它,重新启动Chrome并最终工作. (3认同)
  • 在我的情况下,我取消了弹出菜单的点击事件,所以我不得不改为检查e.target.type!=='file' (3认同)

小智 5

输入类型文件不起作用可能有两个原因。

  1. 文件类型输入的样式为可见性:隐藏。要隐藏输入,请使用不透明度:0。
  2. 文档或父元素上可能存在单击事件,阻止单击输入标签。