输入类型文件将文件路径添加到跨度

Chr*_*oja 4 html javascript css jquery

我定制了我的输入类型="文件",就像Facebook上传而不是文本框和一个按钮(默认输入类型="文件")我只输入一个按钮,没有文本框,你可以看到文件的路径.我打算在我的自定义输入文件旁边添加一个span或ap标签来显示文件的路径.

选择文件时,如何将文件路径打印到span标记?

HTML代码

<!doctype>
<html>
<head>
</head>

<body>

<div class="browse-wrap">
    <div class="title">Choose a file to upload</div>
    <input type="file" name="upload" class="upload" title="Choose a file to upload">
</div>
<span class="upload-path"></span>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

css代码

div.browse-wrap {
        top:0;
        left:0;
        margin:20px;
        cursor:pointer;
        overflow:hidden;
        padding:20px 60px;
        text-align:center;
        position:relative;
        background-color:#f6f7f8;
        border:solid 1px #d2d2d7;}
    div.title {
        color:#3b5998;
        font-size:14px;
        font-weight:bold;
        font-family:tahoma, arial, sans-serif;}
    input.upload {
        right:0;
        margin:0;
        bottom:0;
        padding:0;
        opacity:0;
        height:300px;
        outline:none;
        cursor:inherit;
        position:absolute;
        font-size:1000px !important;}
    span.upload-path {
        margin:20px;
        display:block;}
Run Code Online (Sandbox Code Playgroud)

谢谢!

Rok*_*jan 6

DEMO

$('input[type="file"]').change(function(){
  $(this).closest('.browse-wrap').next('.upload-path').text(this.value);
});
Run Code Online (Sandbox Code Playgroud)

演示:摆脱C:\fakepath\Chrome

或者使用HTML5 文件API

DEMO

$('input[type="file"]').change(function(){

  var f = this.files[0];  
  var name = f.name;

  $(this).closest('.browse-wrap').next('.upload-path').text(name);

});
Run Code Online (Sandbox Code Playgroud)