"对于" Firefox

时间:2016-12-08 20:40:27

标签: html5 css3

我想通过将文本更改为"选择文件来自定义输入元素..."并隐藏文件的名称。此外,如果用户单击该按钮,则打开一个窗口供用户选择文件。代码是

<button>
 <label for="upload"> Choose file ... </label>
</button>
<input type="file" id="upload" style="display:none">

使用Chrome,如果我点击该按钮,会弹出一个窗口供我选择该文件。但它并不适用于Firefox和IE。你知道我怎么能让它适用于所有三种浏览器?谢谢。

2 个答案:

答案 0 :(得分:2)

label标记不适用于按钮。它基本上与单选按钮一起使用。以下应该做你想要的:

<button id="btnFile" onclick="upload.click();">
  Choose file ...
</button>
<input type="file" id="upload" style="display:none">

答案 1 :(得分:2)

您的HTML无效。标签不能是按钮的后代。

删除按钮:

<label for="upload"> Choose file ... </label>
<input type="file" id="upload" style="display:none">

(在Firefox中测试过。我手边没有IE的副本。)

如果你想要一些看起来的东西,就像一个按钮一样,那么用CSS调整它的样式。