js清空input file的值
在做选择本地图片上传的功能时遇到一个问题,第一次点file按钮选择图片完成会触发onchange事件,获取文件后动态在界面上创建img标签展示,但把创建的img元素节点删除后,再点file按钮选择同一个文件后发现图片并没有被重新创建出来。
分析了原因:
因为上一次选择的文件与本次选择的是同一个文件,两次的路径值相同,值没有改变所以导致file不会触发onchange事件,因此需要每次创建完img后重置file的value或者重置file的dom来解决这个问题。
解决方法一:
每次创建完img后把file的value值重置为空字符串
var file = document.getElementById('file');
file.value = ''; //file的value值只能设置为空字符串
注意:浏览器的安全机制不允许直接用js修改file的value为空字符串以外的值,强制修改会报以下错误:
VM4061:1 Uncaught DOMException: Failed to set the ‘value’ property on ‘HTMLInputElement’: This input element accepts a filename, which may only be programmatically set to the empty string.
解决方法二:
每次创建完img后把file的outerHTML重置 (我自己实验这种方法并不奏效)
var file = document.getElementById('file');
file.outerHTML = file.outerHTML; //重置了file的outerHTML
js清空input file的值的更多相关文章
- js清空input file值
项目进行导入操作,如果第一次导入某个文件会触发导入操作,但是第二次导入重复该文件,不会触发操作. 分析了原因,是因为上一次file里选择的文件路径值与本次选择的文件路径值是一样的,值没有改变所以导致f ...
- Jquery 清空input file的值
var file = $(obj).parent().find(".fileData"); $(file).val('');
- js 清空html input file的值
在做上传图片预览时,利用input onchange事件触发函数,但是type=file时,一定记得新建要清空原来的图片,因为原来的图片还存在在input里面,再选重复的图片没有change,故不会触 ...
- js 实现 input file 文件上传
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&qu ...
- JS改变input的value值不触发onchange事件解决方案 (转)
方法(一)(转载的网络资料) 需要了解的知识 首先,我们需要了解onchange和onpropertychange的不同: IE下,当一个HTML元素的属性改变的时候,都能通过 onprope ...
- vue清空input file
input file是只读的,给form一个id,用form.reset()干掉里面input的值 document.getElementById("uploadForm")&am ...
- js 清空 input[type=file]的值
js 不能操作 input[type=file]但你可以将这个 input 的 dom 元素删除掉,再新增一个,或者替换掉 $("#UploadFile").replaceWith ...
- js 获取input file路径改变图像地址
html代码 <img id="newImage" alt="100x100" src="__PUBLIC__/img/1.jpg" ...
- js获取input file路径改变图像地址
版权声明:好歹是我写的或者总结的或者抄的,总待给我个名份吧~ https://blog.csdn.net/sangjinchao/article/details/52250318 html代码 < ...
随机推荐
- [007] - JavaSE面试题(七):异常
第一期:Java面试 - 100题,梳理各大网站优秀面试题.大家可以跟着我一起来刷刷Java理论知识 [007] - JavaSE面试题(七):异常 第1问:Error和Exception的区别? E ...
- 微信小程序云开发-数据库和云函数的应用-点赞/收藏/评论功能
一.准备工作 1.创建数据库表articles,字段分别为: 序号 字段名称 字段类型 字段值 字段描述 备注说明 1 title string "标题1" 文章标题 2 de ...
- Leetcode春季活动打卡第三天:面试题 10.01. 合并排序的数组
Leetcode春季活动打卡第三天:面试题 10.01. 合并排序的数组 Leetcode春季活动打卡第三天:面试题 10.01. 合并排序的数组 思路 这道题,两个数组原本就有序.于是我们采用双指针 ...
- 传统.NET 4.x应用容器化体验(5)
前面几篇都是基于阿里云ECS直接玩的,有童鞋问直接用Windows Server 2019可以玩不,本篇就为你介绍一下如何给Windows Server 2019配置Docker环境. 1 准备工作 ...
- odoo14里面的log模块
日志记录是分析 Odoo 服务器运行服务时发生的操作的最重要工具之一.此外,在大多数情况下,通过分析服务器日志,我们可以清楚地了解错误或存在的任何错误. 最初,如果我们想使用日志记录选项,我们需要从 ...
- 第四篇 -- Go语言string转其他类型
1. string转int // 法1:string转int num_str := "1234567" /* ParseInt():查看文档https://studygolang. ...
- spring第三章
第三章 实现AOP AOP:面向方面编程,AOP能够使您将所有模块共有的特性与应用程序的主要业务逻辑隔离开 一.AOP介绍 横切关注点:在Web应用程序中,有一些服务(如登录.安全和事务管理)不是应用 ...
- react native踩坑记录
一 .安装 1.Python2 和Java SE Development Kit (JDK)可以直接通过腾讯电脑关键安装, Android SDK安装的时候路径里不能有中文和空格 2.配置java环境 ...
- Typhoon靶机
仅供个人娱乐 靶机信息 靶机下载地址:https://www.vulnhub.com/entry/typhoon-102,267/ 一.主机探测 arp-scan -l nmap -sV -p- -A ...
- friend靶机
仅供个人娱乐 靶机信息 https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ 一.主机探测 二.信息收集 访问一下web站点,提示只能从本 ...