单击表单字段部分时,<input type =“file”/>在FireFox3中打开文件浏览窗口?

时间:2009-01-21 15:59:19

标签: javascript css file input

单击FireFox3中<input type="file" />的文本框部分时,将打开文件浏览窗口。

在IE7中不会发生这种情况。您必须单击“浏览”按钮才能打开文件浏览窗口。

当用户点击文本框区域时,如何防止文件浏览窗口在FireFox中打开?我喜欢它,所以它只在按下按钮时打开。

6 个答案:

答案 0 :(得分:16)

为什么不能单独留下预期的行为?大多数使用FireFox的人都希望它能够实现。除非有一个实际的“设计”原因,你没有声明要做到这一点,请不要尝试改变它。

答案 1 :(得分:6)

Firefox以这种方式运行,以防止使用文件输入进行攻击。

请参阅this blog entry的结尾和以下一些评论。

我同意它非常烦人,不是作为网站设计师/开发者而是作为Firefox的用户;有时我只想粘贴一个文件名,而不必点击对话框。

答案 2 :(得分:2)

即使你真的想这样做,我也不认为这是可能的。

答案 3 :(得分:2)

  

当用户点击文本框区域时,如何阻止文件浏览窗口在FireFox中打开?

用另一个元素掩盖它。

<div style="position: relative">
    <input type="file" />
    <div style="position: absolute; top: 0; left: 0; width: 11em; height: 2em;"> </div>
</div>

但不要这样做。它非常脆弱,在许多情况下会破裂。

  

我喜欢它,所以它只在按下按钮时打开。

我怀疑你的用户会喜欢它。它从浏览器中删除了预期的功能,并没有更好地替换它。或者甚至任何事情。

答案 4 :(得分:0)

是的,并且网页没有任何关于它的信息。

我不知道可以控制它的FF配置设置,所以你坚持使用#3:

使用扩展名可能可以更改此行为,但是您必须让用户安装您的扩展程序(对于内部应用程序可能是可行的)并应对错误它可能会引入应用程序。

答案 5 :(得分:0)

一个简单的解决方法是创建一个文本输入字段和一个按钮,该按钮用于触发文件浏览器,然后将信息填充回文本字段?我对这一切都很新,并且正在阅读有关此问题的许多问题,包括FF3不会像以前的版本那样对input = file应用相同的css样式。