上传的文件名未显示在自定义文件输入中

时间:2012-06-09 12:43:41

标签: html file-upload input

我使用下面的代码来自定义文件输入类型

<form class="example" action="#">
<!--<input type="file" class="required-entry filename file" name="filename[]" />-->
<div class="fileinputs">
    <input type="file" class="file hidden">
<div class="fakefile"><input><img src="ravi/images/button_select.gif" /></div></div>
</form>

的style.css

<style type="text/css">
    body{
        color: black;
        font-family: arial;
        font-size: 13px;
    }
form.example input {
    background: url('ravi/images/input_boxes.gif') no-repeat 0 -58px;
    border: none;
    width: 241px;
    height: 20px;
    padding-left: 3px;
    padding-top: 3px;
}

form.example input:focus {
    background-color: transparent;
}

form.example div.fileinputs {
    position: relative;
    height: 30px;
    width: 300px;
}

form.example input.file {
    width: 300px;
    margin: 0;
}

form.example input.file.hidden {
    position: relative;
    text-align: right;
    -moz-opacity:0 ;
    filter:alpha(opacity: 0);
    opacity: 0;
    z-index: 2;
}

form.example div.fakefile {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 350px;
    padding: 0;
    margin: 0;
    z-index: 1;
    line-height: 90%;
}

form.example div.fakefile input {
    margin-bottom: 5px;
    margin-left: 0;
}

</style>

,页面显示如下,

enter image description here

当我点击选择按钮时出现浏览文件夹,然后我选择图像文件。但是在输入文件中,上传的图像标题没有显示..

我从http://www.quirksmode.org/dom/inputfile.html

整合了这个

问题是什么?

1 个答案:

答案 0 :(得分:0)

您需要按照您引用的页面上的说明添加JavaScript代码。

如果您在测试中使用的代码基本上由您发布的HTML和CSS代码组成,那么您使用的是页面中描述的方法的“纯CSS”版本。在编号列表中,它解释了使用JavaScript的基本版本,第5项描述了“纯CSS”版本中缺少的功能。该功能是“当用户选择了一个文件时,可见的伪输入字段应显示该文件的正确路径”。

(它实际上不会显示正确的路径。出于安全考虑,浏览器不会透露实际路径。但是它们会让您显示文件名部分。)