返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js如何清空input file的值
  • 658
分享到

js如何清空input file的值

js清空input file的值js清空input filejs input file的值 2023-01-28 06:01:51 658人浏览 薄情痞子
摘要

目录js清空input file的值分析了原因方案一方案二纯js清空input File总结js清空input file的值 在做选择本地图片上传的功能时遇到一个问题,第一次点fil

js清空input file的值

在做选择本地图片上传的功能时遇到一个问题,第一次点file按钮选择图片完成会触发onchange事件,获取文件后动态在界面上创建img标签展示,但把创建的img元素节点删除后,再点file按钮选择同一个文件后发现图片并没有被重新创建出来。

分析了原因

因为上一次选择的文件与本次选择的是同一个文件,两次的路径值相同,值没有改变所以导致file不会触发onchange事件,因此需要每次创建完img后重置file的value或者重置file的dom来解决这个问题。

方案一

每次创建完img后把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.

var file = document.getElementById('file');
file.value = ''; //file的value值只能设置为空字符串

方案二

每次创建完img后把file的outerHTML重置

var file = document.getElementById('file');
file.outerHTML = file.outerHTML; //重置了file的outerHTML

纯js清空input File

function cleanFile(id){		      	  	   
  var _file = document.getElementById(id);          
  if(_file.files) 
    _file.value = "";
  else{  
    if (typeof _file != "object") return null;          
    var _span = document.createElement("span");   
    _span.id = "__tt__";   
    _file.parentnode.insertBefore(_span,_file);   
    var tf = document.createElement("fORM");   
    tf.appendChild(_file);   
    document.getElementsByTagName("body")[0].appendChild(tf);   
    tf.reset();   
    span.parentNode.insertBefore(_file,_span);   
    _span.parentNode.removeChild(_span);   
    _span = null;   
    tf.parentNode.removeChild(tf);
  } 
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: js如何清空input file的值

本文链接: https://lsjlt.com/news/178265.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • js如何清空input file的值
    目录js清空input file的值分析了原因方案一方案二纯js清空input File总结js清空input file的值 在做选择本地图片上传的功能时遇到一个问题,第一次点fil...
    99+
    2023-01-28
    js清空input file的值 js清空input file js input file的值
  • jquery如何去除input值的空格
    这篇文章给大家分享的是有关jquery如何去除input值的空格的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 jquery去除input值空格的方法...
    99+
    2024-04-02
  • XamarinEssentials中如何清空键值
    这篇文章主要介绍了XamarinEssentials中如何清空键值,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Preferences类的Clear()方法可以清空所有的键和...
    99+
    2023-06-05
  • vue如何实现清空this.$route.query的值
    目录如何清空this.$route.query的值mounteddestroyed改变this.$route.query中的数据如何清空this.$route.query的值 mou...
    99+
    2024-04-02
  • js如何监听input输入框值的实时变化
    这篇文章给大家分享的是有关js如何监听input输入框值的实时变化的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、在元素上同时绑定 oninput 和onporpertycha...
    99+
    2024-04-02
  • JS如何获取多个同name的input输入框的值
    小编给大家分享一下JS如何获取多个同name的input输入框的值,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!html代码<form id="login-for...
    99+
    2024-04-02
  • jquery如何获取input的值
    使用jquery获取input值的方法:1.新建html项目,引入jquery;2.添加input输入框,设置id属性;3.通过id属性获取input对象;4.使用val()方法获取input的值;具体步骤如下:首先,新建一个html项目,...
    99+
    2024-04-02
  • vue如何给input赋值
    在vue中给input赋值的方法:1.新建vue.js项目;2.添加input输入框;3.为input添加@input="changeVersion"样式属性;4.执行代码为input赋值;具体步骤如下:首先,在vue-...
    99+
    2024-04-02
  • vue中如何获取input的值
    在vue中获取input值的方法:1.新建html项目,引入vue;2.定义input输入框,设置v-model样式;3.绑定变量和按钮;具体步骤如下:首先,新建一个html项目,并在项目中引入vue;<!DOCTYPE h...
    99+
    2024-04-02
  • js如何给input加属性
    你可以使用JavaScript来给一个input元素添加属性。以下是一种常见的方法:```javascript// 获取input元...
    99+
    2023-09-20
    js
  • 如何利用原生JS实时监听input框输入值
    目录原生JS实时监听input框输入值原生JS input[type=range] 监听值变化总结原生JS实时监听input框输入值 原生JS中可以使用oninput,onprope...
    99+
    2023-01-11
    原生JS实时监听 监听input框输入值 JS监听input框输入值
  • js如何使用空值合并??操作符
    这篇文章给大家分享的是有关js如何使用空值合并操作符的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。空值合并 操作符当我们想检查一个变量是否为 null 或 undefined 时,操作符很有用。当它的左侧操作数...
    99+
    2023-06-27
  • jQuery/JS怎么监听input输入框的值
    今天小编给大家分享一下jQuery/JS怎么监听input输入框的值的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。input...
    99+
    2023-06-17
  • 如何清除或清空 StringBuilder
    要清除或清空 StringBuilder 的内容,可以使用以下两种方法:1. 使用 setLength(0) 方法将 StringB...
    99+
    2023-09-17
    StringBuilder
  • javascript如何改变input value值
    这篇文章主要介绍“javascript如何改变input value值”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“javascript如何改变input valu...
    99+
    2024-04-02
  • jquery如何给input框赋值
    使用jquery给input框赋值的方法:1.新建html项目,引入jquery;2.创建input输入框,设置id属性;3.添加button按钮,绑定onclick点击事件;4.通过id属性获取input对象,使用val()方法赋值;具体...
    99+
    2024-04-02
  • html如何设置input的默认值
    本篇内容主要讲解“html如何设置input的默认值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html如何设置input的默认值”吧! ...
    99+
    2024-04-02
  • css如何清除input默认样式
    本篇内容介绍了“css如何清除input默认样式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!css清除input默认样式的方法是,将inp...
    99+
    2023-07-04
  • Antdform表单的使用、设值、取值、清空值方式
    目录Antd form表单的使用、设值、取值、清空值antd中的form表单用法笔记我的需求总结Antd form表单的使用、设值、取值、清空值 1、使用 {this.props.f...
    99+
    2023-05-17
    Antd form表单使用 Antd form表单设值 Antd form表单取值 Antd form表单清空值
  • centos7如何清空mnt
    centos7中清空mnt的方法:1、打开centos7终端;2、在命令行中输入“sudo rm -rf /etc/fstab/mnt”命令清空mnt即可;具体操作步骤:在centos7系统桌面中使用快捷键【Ctrl+Alt+T】打开cen...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作