我使用下面的代码来自定义文件输入类型
<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>
,页面显示如下,
当我点击选择按钮时出现浏览文件夹,然后我选择图像文件。但是在输入文件中,上传的图像标题没有显示..
我从http://www.quirksmode.org/dom/inputfile.html
问题是什么?
答案 0 :(得分:0)
您需要按照您引用的页面上的说明添加JavaScript代码。
如果您在测试中使用的代码基本上由您发布的HTML和CSS代码组成,那么您使用的是页面中描述的方法的“纯CSS”版本。在编号列表中,它解释了使用JavaScript的基本版本,第5项描述了“纯CSS”版本中缺少的功能。该功能是“当用户选择了一个文件时,可见的伪输入字段应显示该文件的正确路径”。
(它实际上不会显示正确的路径。出于安全考虑,浏览器不会透露实际路径。但是它们会让您显示文件名部分。)