zoukankan      html  css  js  c++  java
  • input[tyle="file"]样式修改及上传文件名显示

    默认的上传样式我们总觉得不太好看,根据需求总想改成和上下结构统一的风格……

    实现方法和思路:
    
      1.在input元素外加a超链接标签
    
      2.给a标签设置按钮样式
    
      3.设置input[type='file']为透明,并定位,覆盖在a上面

    html代码:

    <a class="input-file input-fileup" href="javascript:;">
         + 选择文件<input size="100" type="file" name="file" id="file">
    </a>

    css代码: 

    .input-file{
        display: inline-block;
        position: relative;
        overflow: hidden;
        text-align: center;
        width: auto;
        background-color: #2c7;
        border: solid 1px #ddd;
        border-radius: 4px;
        padding: 5px 10px;
        font-size: 12px;
        font-weight: normal;
        line-height: 18px;
        color:#fff;
        text-decoration: none;
    }
    .input-file input[type="file"] {
        position: absolute;
        top: 0;
        right: 0;
        font-size: 14px;
        background-color: #fff;
        transform: translate(-300px, 0px) scale(4);
        height: 40px;
        opacity: 0;
        filter: alpha(opacity=0);
     }

     效果:

    此时并不能显示上传的文件名,如需显示出上传的文件名需要js来处理

    js代码:

    <script>
            $(function(){
                $(".input-fileup").on("change","input[type='file']",function(){
                    var filePath=$(this).val();
                    if(filePath.indexOf("jpg")!=-1 || filePath.indexOf("png")!=-1){
                        $(".fileerrorTip1").html("").hide();
                        var arr=filePath.split('\');
                        var fileName=arr[arr.length-1];
                        $(".showFileName1").html(fileName);
                    }else{
                        $(".showFileName1").html("");
                        $(".fileerrorTip1").html("您未上传文件,或者您上传文件类型有误!").show();
                        return false
                    }
                })
            })
        </script>

     同时需要给html加上两个div

    <a class="input-file input-fileup" href="javascript:;">
             + 选择文件<input size="100" type="file" name="file" id="file">
    </a>
    <div class="fileerrorTip1"></div> <div class="showFileName1"></div>

     效果:

  • 相关阅读:
    AD域服务器的部署 【1】— AD域介绍
    Docker 设置http代理
    在Django中将SQLite3数据库迁移到MySQL
    pycharm远程更新代码到远端服务器
    这个看着更好。Docker中使用MySQL
    docker换成最好用的源
    docker基础命令
    在docker中运行mysql实例
    centos7安装mysql
    centos 7 修改ip
  • 原文地址:https://www.cnblogs.com/hfxm/p/6020387.html
Copyright © 2011-2022 走看看