zoukankan      html  css  js  c++  java
  • jQuery上传文件按钮美化

    效果图如下:

    思路:

    1:打开文件设置为透明,外面包一层标签,给标签设置颜色背景,给人点击浏览其实是点击打开文件的错觉。(给外标签相对定位,打开文件标签绝对定位)。

    2:点击浏览后,选择了文件,就把文件名赋值给前面自己创建的input框里面,前面的input框自己单独写出来。给样式。

    3:上传按钮既上传文件到服务器的操作,请求接口即可。

    代码:

    css:

    .chooseFile{
    border: 1px solid #cccccc;
    97%;
    height: 28px;
    border-radius: 5px;
    opacity: 0;
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    }
    #uploadForm{
    position: relative;
    cursor: pointer;
    border-color: #204d74;
    border-radius: 4px;
    /* overflow: hidden; */
    60px;
    font-size: 14px;
    background-color: #e8340c;
    border-radius: 4px;
    line-height: 30px;
    color: white;
    text-align: center;
    margin: 0 7px;
    }
    .inputName{
    60%;
    height: 30px;
    line-height: 30px;
    padding: 0 5px;
    border: 1px solid #9e9a9a;
    border-radius: 5px;
    }

    HTML:

     <div class="title">请选择翻译文件</div>

    <div class="ibox-content piliangBox">
    <input class="inputName" placeholder="请选择要翻译的文件" type="text" />
    <form id="uploadForm" enctype="multipart/form-data" style="display: inline-block; ">
        <input class="chooseFile" id="reportXML" type="file" name="file" /> 浏览
    </form>
    <button class="scOks upload">上传</button>
    </div>

    js:

    //点击浏览,选择文件
    function choseFile() {
    var fileInput = $('#reportXML').get(0).files[0];
    if(fileInput){
    $(".inputName").val(fileInput.name);
    }
    }
    $("#uploadForm").click(function() {
    window.setInterval("choseFile()", 100);//采用定时给input赋值,否则光浏览按钮是无法同时既选择文件又同时赋值
    })

    //上传文件,这个用于上传代码到服务器,与样式无关,可忽略
    $(".upload").click(function() {
    var fileInput = $('#reportXML').get(0).files[0];
    console.info(fileInput);
    if(fileInput) {
    var cover = 0;
    var formData = new FormData($('#uploadForm')[0]);
    // formData.append("p", "{'platformId':101,'useMonoid':" +
    // localStorage.getItem("monoid") + ",'cover':" + cover +
    // "}");
    results = Common.prototype.callPostFile("/fileToDevice/uploadFileToDevice.shtml", formData);
    var results = JSON.parse(results);
    console.log(results, 44)
    if(results.code == 8000) {
    alert("上传成功");
    localStorage.setItem("fid", results.body.fid);
    $(".textOld").text(results.body.src);
    } else if(results.code == 9014) {
    alert("上传文件格式错误!")
    }
    } else {
    alert("请选择上传文件!");
    }

    })

  • 相关阅读:
    基于thinkphp3.2.3开发的CMS内容管理系统(二)- Rbac用户权限
    phpstrom 快捷键
    基于thinkphp3.2.3开发的CMS内容管理系统
    html中的字幕滚动marquee属性
    学会这些网站优化技巧,秒变seo专家
    服务器设置防火墙规则,实现远程桌面连接的ip限制
    IIS7.5中神秘的ApplicationPoolIdentity
    mysql 安装成功后如何设置密码?
    网站优化提高加载速度的14个技巧
    解决帝国cms系统后台管理员登录密码输入五次密码错误后需等候60分钟的方法
  • 原文地址:https://www.cnblogs.com/Fancy1486450630/p/10948204.html
Copyright © 2011-2022 走看看