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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通