zoukankan      html  css  js  c++  java
  • DAY19-上传头像并预览

    一个简单的注册页面:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href="/static/bs/css/bootstrap.css">
        <script src="/static/js/jquery-3.2.1.min.js"></script>
        <style>
            #avatar{
           /*隐藏上传按钮-*/
                display: none;
            }
           /*设置预览头像尺寸*/
            .avatar_img{
                width: 60px;
                height: 60px;
                margin-left: 10px;
            }
            .error{
                color: red;
            }
        </style>
    </head>
    <body>
    
    <h3>注册页面</h3>
    <div class="container">
        <div class="row">
            <div class="col-md-6 col-md-offset-3">
                <form>
                    {% csrf_token %}
                    <div class="form-group">
                        <label for="user">用户名</label>
                        <input type="text" id="user" class="form-control"><span class="error pull-right"></span>
                    </div>
                     <div class="form-group">
                        <label for="pwd">密码</label>
                        <input type="password" id="pwd"  class="form-control"><span class="error pull-right"></span>
                    </div>
                    <div class="form-group">
                        <label for="repeat_pwd">确认密码</label>
                        <input type="password" id="repeat_pwd"  class="form-control"><span class="error pull-right"></span>
                    </div>
    
                    <div class="form-group">
                        <label for="email">邮箱</label>
                        <input type="email" id="email"  class="form-control"><span class="error pull-right"></span>
                    </div>
                     <div class="form-group">
                     <!--label实现点击图片就能上传头像-->
                     <!--img显示默认图片-->
                         <label for="avatar">头像 <img src="/static/img/default.png" alt="" class="avatar_img"></label>
    
                         <input type="file" id="avatar"  class="form-control">
                    </div>
    
                    <input type="button" value="submit" class="reg_btn btn btn-default">
                    <span class="error"></span>
                </form>
            </div>
        </div>
    </div>
    
    <script>
    
        // 头像预览
       $("#avatar").change(function () {
           //FileReader可以读出头像在客户端存放路径
           var reader=new FileReader();
           //获取头像对象
           var choose_file=$(this)[0].files[0];
           //用reader对象录取图片对象
           reader.readAsDataURL(choose_file);
           //reader需要一定时间,onload等待reader读完
           reader.onload=function(){
                 //result获取图片路径,将src的默认图片地址更换为本地头像路径
                 $(".avatar_img").attr("src",reader.result)
           };
    
       })
    
         // 注册
        $(".reg_btn").click(function () {
    
            var formdata=new FormData();
            formdata.append("user",$("#user").val());
            formdata.append("pwd",$("#pwd").val());
            formdata.append("email",$("#email").val());
            formdata.append("repeat_pwd",$("#repeat_pwd").val());
            formdata.append("avatar_img",$("#avatar")[0].files[0]);
    
    
            $.ajax({
    
                 url:"",
                 type:"post",
                 contentType:false,
                 processData:false,
                 data:formdata,
                 success:function (data) {
                     // console.log(data);
                     var data=JSON.parse(data);
    
                     if (data.user){
                         console.log("OK")
                     }else{
                         // 清空操作
                         $("form span.error").html("")
    
                         console.log(data.msg)
                         $.each(data.msg,function (filed,error_list) {
    
                             $("#"+filed).next().html(error_list[0])
                         })
    
                     }
    
                 }
    
            })
        })
    
    </script>
    
    
    </body>
    </html>
  • 相关阅读:
    树形结构基础
    最长公共子序列
    四 过滤模式 map Only
    三 概要模式 2) MR倒排索引、性能分析、搜索干扰词。
    三 概要模式 1)数值概要 (单词计数记录计数最大值/最小值/计数平均值、中位数、标准差)
    一 梳理 从 HDFS 到 MR。
    个人学习源码的 HBase误区的总结 与 架构图
    15 hbase 学习(十五)缓存机制以及可以利用SSD作为存储的BucketCache
    13 hbase源码系列(十三)缓存机制MemStore与Block Cache
    HBase 系统架构
  • 原文地址:https://www.cnblogs.com/guoyunlong666/p/9038591.html
Copyright © 2011-2022 走看看