ajax文本域变化事件

应用场景:

上传头像,头像实时展示出来

 

复制代码
<div class="form-group">
  <label for="myfile">头像
        {# 动态解析获取静态文件夹路径#}
     {# img放在label标签里实现点击图片img也能跳出文件上传框的效果 #} {% load static %}
<img src="{% static 'img/default.jpg' %}" id="myimg" alt="" width="80px" style="margin-left: 10px">   </label>   <input type="file" id="myfile" name="avatar" style="display: none"> </div>
复制代码

 

复制代码
<script>
    {# 文本域变化事件#}
    $('#myfile').change(function () {
        // 文件阅读器对象
        // 1 先生成文件阅读器对象
        let myFileReaderObj = new FileReader();
        // 2 获取用户上传的头像文件
        let fileObj = $(this)[0].files[0];
        // 3 将文件对象交给阅读器对象读取
        myFileReaderObj.readAsDataURL(fileObj);  //异步操作 IO操作
        // 4 用文件阅读器将文件展示到前端页面 即修改src属性
        // 等待myFileReaderObj加载完毕才能执行下面,否则无法显示,因为是异步操作,默认代码加载后没执行完就执行下一行代码了
        myFileReaderObj.onload = function(){
            $('#myimg').attr('src',myFileReaderObj.result)
        }
    })
</script>
复制代码

 

posted @   EricYJChung  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示