前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >input file上传文件改变默认样式

input file上传文件改变默认样式

作者头像
王小婷
发布2019-11-27 21:26:47
2K0
发布2019-11-27 21:26:47
举报
文章被收录于专栏:编程微刊编程微刊

我们知道,在使用到input file上传文件的时候,会出现这样很丑的默认样式,作为前端开发的我们,主要责任就是去优化这些样式,以更美观的方式呈现出来,但是,这个默认样式没有可以去修改的属性,还是比较麻烦的。

这个时候,就需要用到一些障眼法了,将原来的样式隐藏起来,再重新写一个按钮代替,与原来的位置重合即可。

原本的样式是这样的:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>       
    </head>
    <body>      
        <input type="file" class="file-upload" />        
    </body>
</html>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
</script>
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">

    <head>
        <meta charset="UTF-8" />
        <title></title>
        <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
        <style>
            #importExcel {
                color: #fff;
                width: 51px;
                height: 30px;
                display: inline-block;
                border: none;
                background: cornflowerblue;
                background-size: 100% 100%;
            }
            
            .change {
                position: absolute;
                display: block;
                width: 103px;
                top: 2px;
                left: 5px;
                height: 40px;
                opacity: 0;
                cursor: pointer;
            }
            
            .file-name {
                position: absolute;
                top: 9px;
                width: 133px;
                height: 30px;
                padding: 0 8px;
                line-height: 25px;
                margin-left: 86px;
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
                cursor: pointer;
            }
            
            .btnMask {
                color: #fff;
                width: 86px;
                height: 30px;
                text-align: center;
                line-height: 30px;
                margin-right: 131px;
                display: inline-block;
                border: none;
                background: cornflowerblue;
                background-size: 100% 100%;
                cursor: pointer;
            }
        </style>
    </head>

    <body>
        <form s action="/criminal/import" id="uploadForm" enctype="multipart/form-data" method="post">
            <a class="btnMask">选择文件</a>
            <input class="change" id="mFile" type="file" name="mFile">
            <div class="file-name"></div>
            <input type="button" value="导入" id="importExcel" name="btn">
        </form>
    </body>
    <script>
        $("#mFile").change(function() {
            var arrs = $(this).val().split('\\');
            var filename = arrs[arrs.length - 1];
            $(".file-name").html(filename);
        });
        //导入按钮
        $('#importExcel').click(function() {
            if(checkData()) {
                $('#uploadForm').ajaxSubmit({
                    url: "http://localhost:3000/users",
                    success: function(data) {
                        alert(JSON.stringify(data))
                        for(var i = 0; i < data.length; i++) { // 这里的i是代表数组的下标
                            if(i == data.length - 1)
                                alert("已插入" + data[i] + "条罪犯数据")
                            else
                                alert(data[i])
                        }
                    }
                });
            }
        });

        //JS校验form表单信息    
        function checkData() {
            var fileDir = $("#mFile").val();
            var suffix = fileDir.substr(fileDir.lastIndexOf("."));
            if("" == fileDir) {
                msg(5, "选择需要导入的Excel文件!");
                return false;
            }
            if(".xls" != suffix && ".xlsx" != suffix) {
                msg(5, "选择Excel格式的文件导入!");
                return false;
            }
            return true;
        }
    </script>
</html>

这是改完以后的样式,根据需要来设置属性,这里已经写好了选择文件,导入到表格里面的效果啦。

原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档