如何显示在输入类型文件中选择了哪个文件?

How to show which file is selected in Input type File?

使用下面的代码,我编辑了我的 INPUT TYPE FILE 按钮的样式。我现在遇到的问题是它没有显示用户选择了哪个文件。我不知道该怎么做..:(

HTML代码:

<div class="giz-upload">
<input type="file" size="40" name="d4p_attachment[]">
</div>

Style.css

div.giz-upload{
    width: 157px;
    height: 57px;
    background: url(http://www.gizmoids.com/wp-content/sicons/upload.png);
background-size: 80px 60px;
background-repeat:no-repeat;
overflow: hidden;
}

div.giz-upload input {
    display: block !important;
    width: 157px !important;
    height: 57px !important;
    opacity: 0 !important;
    overflow: hidden !important;
}

这是 JSFIDDLE URL : http://jsfiddle.net/sunita1993/avn9n6sp/

请检查以下代码,希望它能工作:)

$('input[type=file]').change(function (e) {
    $(this).parents('.giz-upload').find('.element-to-paste-filename').text(e.target.files[0].name);
});
.giz-upload {
    display: block !important;
    height: 57px !important;
    background: url(http://www.gizmoids.com/wp-content/sicons/upload.png);
    background-size: 80px 60px;
    background-repeat:no-repeat;
    padding-left: 90px; 
}
.giz-upload input {
    display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<label class="giz-upload">
    <input type="file" size="40" name="d4p_attachment[]" />
    <span class="element-to-paste-filename"></span>
</label>

您可以使用 javascript 来完成。我给你一个使用 jQuery 框架的例子:

$(function() {

    $("input").on("change", function() {

        var file = this.files;
        console.log(file);

    });

});

当您 select 一个文件时,输入值将更改,您可以访问该文件,file 变量将包含一个包含文件数据的对象,您可以获得所需的内容从它并把它放在 span 元素或你想要的地方

关于 JsFiddle

的示例

因为在 div.giz-upload input 中您已将 opacity 属性 设置为 0。

移除不透明度,它将显示文件名。