在进行文件上传得过程中,通常需要用到input file 标签,但是由于其默认的表单元素丑陋的外观,今天我在做上传的时候,也遇到了这个问题,真心太丑,和周围的其他表单元素,完全是格格不入啊。于是就想深入学习了解下,然后找到了一个比较简单的方法。其实很简单,就是通过label标签与input标签绑定,隐藏input标签,给label标签或者label里面的标签的设置样式:
<form action="" method="" enctype='multipart/form-data'>
<label for='my_file' class='inputlabelbox'>
<p class="inputbox">点击上传文件</p>
</label>
<input type="file" name="myfile" id='my_file' style="display:none;" />
</form>
<img src="" id="img" width="300" />
在通过js上传图片预览后:
var inputlabelbox = document.queryselector('.inputlabelbox');
var my_file = document.queryselector('#my_file');
var img = document.queryselector('#img');
my_file.onchange = function()
{
var file = this.files[0];
var reader = new filereader();
reader.readasdataurl(file);
reader.onload = function()
{
img.src = this.result;
}
}
相关推荐:
js清空input file上传文件的内容代码
input file上传 图片预览功能实例代码
input file获得文件根目录简单实现_php教程
以上就是js修改input file标签样式的方法的详细内容。