5

我有一个输入框,我希望用户单击输入框以显示打开文件对话框并在同一输入框中显示文件名。但是如果我使用输入类型=“文件”,它会显示“选择文件按钮”,我不想显示按钮。我该怎么做?

html:

<div class="fileupload">
    <input type="file" class="file" name="image" />
</div>

<div class="fileupload">
    <input type="file" class="file" name="attachement" />
</div>

http://jsfiddle.net/EctCK/ ** 我不想要这个,如何隐藏选择文件按钮?

4

3 回答 3

13

<input type="file"/>您可以在样式按钮或其他元素上覆盖透明。

<input type="file" style="opacity:0;"/>

有关工作演示,请参阅此JSFiddle 。

于 2013-10-11T05:00:37.967 回答
7

好吧,这有一个小技巧。您确实需要在页面上进行文件上传控制。但是您可以隐藏它并使用任何其他控件(如 div/span/button)模拟文件上传控件,并根据需要设置样式。这是jsfiddle上的工作示例。

HTML:

<div id="dummy" class="dummyDiv"> 
    <span>click to chose file:</span> 
    <span id="fileName" class="yellow"></span>
</div>
<div class="wrapper">
    <input type="file" id="flupld" />
</div>

JS:

$("#dummy").click(function () {
    $("#flupld").click();
});

$("#flupld").change(function () {
    //file input control returns the file path as C:\fakepath\<file name>
    //on windows, so we remeove it and show only file name.
    var file=$(this).val().replace(/C:\\fakepath\\/ig,'');

    $("#fileName").text(file);
});
于 2013-10-11T05:14:05.720 回答
-1

尝试一下:

<input type="file" id="upload" style="display:none">
   <a href="" onclick="document.getElementById('upload').click(); return false;"> Upload </a>

JSFiddle上的工作示例

于 2015-10-11T19:36:07.140 回答