<script>
function clp(){
return $("#File").click()
}
</script>
<button class = "clp" onclick = "clp()">clp</button>
<input type="file" id="File" style="display: none"/>
直接写CSS样式
是不行的
<input
type="text"
size="20"
name="upfile"
id="upfile"
style="border:1px
dotted
#ccc">
<input
type="button"
value="浏览"
onclick="path.click()"
style="border:1px
solid
#cccbackground:#fff">
<input
type="file"
id="path"
style="display:none"
onchange="upfile.value=this.value">
写成这样,用一个text和一个button替代file,然后让file隐藏
表单的文件上传元素默认样式确实是:
只是这样并不美观,于是常见做法是创建一个文本框和一个按钮来配合文件上传元素:
核心就是将上传元素的透明度设置为0,即完全透明,然后绝对定位到按钮上上面,这样用户点击按钮时,实际是点击到上传元素。然后添加js,将上传元素的value值 赋给文本框的value值,实现在文本框中显示文件元素的value属性值。
该上传元素的onchange事件监听函数为:onchange="document.getElementById('textfield').value=this.value"