在进行文件上传得过程中,通常需要用到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标签样式的方法的详细内容。更多信息请关注PHP中文网其他相关文章!