TypeError: Failed to set the 'files' property on 'HTMLInputElement': The provided value is not of type 'FileList'.

这个标题也是很low了,但是想着大家遇到这个错之后,肯定都想这样直接搜索就找到答案。其实大家应该是和我一样,就是想将type="file"类型的控件置空,或者说reset。如果只是单纯的将value置空,那么虽然没有文件名了,但是files属性值依然在,我在网上搜了不少,终于找到了答案(Posted on 2012-02-22),原文作者发表于2012年啊,jquery时代,到了现在2020年,vue时代了,依然可以解决问题,不得不感叹,真是前人栽树,后人乘凉,谢谢!!

---------------------问题-introduce[介绍]---------------------------------

问题描述:在用Vue开发导入文件功能时,想完成导入之后,清空文件的功能,结果清不掉了。

TypeError: Failed to set the ‘files‘ property on ‘HTMLInputElement‘: The provided value is not of type ‘FileList‘.

翻译过来是:TypeError:未能在“HTMLInputElement”上设置“files”属性:提供的值不是“FileList”类型。

<input id="impotFiles" type="file" value="1"  ref="impotFiles" @change="importEvent()">

//以下为js代码//此句会报错,原因是出于安全限制,file 的value 是只读的,只能由用户选择或手动输入,不允许由程序代码设置,所以在JS中修改 file 的 value 会爆出此错误信息。
              this.$refs.impotFiles.files = "";

-------------------------------问题-solve[解决]----------------------------------

// 清空文件上传控件
// 不能直接用js修改input type=file的value,但可以通过form的reset()清空它的值
// 解决:将input type=file放进一个临时form,清空value,再将它移到原来位置
 this.emptyFileUpload($(‘#impotFiles‘));

// 以下为methods中的方法
 emptyFileUpload(selector) {
      var fi;
      var sourceParent;
      if (selector) {
        fi = $(selector);
        sourceParent = fi.parent();
      }
      else {
          return;
      }
      $("<form id=‘tempForm‘></form>").appendTo(document.body);
      var tempForm = $("#tempForm");
      tempForm.append(fi);
      tempForm.get(0).reset();
      sourceParent.append(fi);
      tempForm.remove();
  }

以上,问题就解决了,虽然仍然用的jquery。。。在vue里用jquery还是感觉怪怪的,怎么用vue来解决这个问题,我还不知道。各位小伙伴~有知道的,记得评论哦~~谢啦!!☆⌒(*^-゜)v

TypeError: Failed to set the 'files' property on 'HTMLInputElement': The provided value is not of type 'FileList'.

原文地址:https://www.cnblogs.com/slikes/p/12145140.html

时间: 2024-11-02 07:55:09

TypeError: Failed to set the 'files' property on 'HTMLInputElement': The provided value is not of type 'FileList'.的相关文章

angularjs Failed to read the &#39;selectionStart&#39; property from &#39;HTMLInputElement&#39;:

在找angularjs input(type='number')在获取焦点的时候,文本框内容选中效果,参考了:Select text on input focus,我直接复制他的code之后,在ionic中报"Uncaught InvalidStateError: Failed to read the 'selectionStart' property from 'HTMLInputElement': The input element's type ('number') does not su

android webview &quot;Uncaught SecurityError: Failed to read the &#39;localStorage&#39; property from &#39;Window&#39;: Access is denied for this document.&quot;, source: (1)

这种错误,可以在loadurl之后再调用 localstorage.setitem()即可解决. "Uncaught SecurityError: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.", source:  (1) android webview "Uncaught SecurityError: Failed to read t

Vue的报错:Uncaught TypeError: Cannot assign to read only property &#39;exports&#39; of object &#39;#&lt;Object&gt;&#39;

Vue的报错:Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>' 1.运行一下以前的一个Vue+webpack的 vue仿新闻网站  小项目,报错 由于自己vue学习不深入,老是这个报错,找了好久(确切的说是整整一下午^...^)才找到原因 -v- Uncaught TypeError: Cannot assign to read only property 'expor

Vue报错:Uncaught TypeError: Cannot assign to read only property &#39;exports&#39; of object 的解决方法

问题是这样的:如下>> 解决办法: 1“:我的webpack 最高版本,造成 混用import和module.exports :所以降低webpack版本 安装指定版本:npm install [email protected] -g 例如:npm install [email protected] -g 删除 编译目录文件: 2重新生成 然后输入启动命令: 成功解决!效果: 方法二: 注释掉后一个 重新生成,启动项目 OK! Vue报错:Uncaught TypeError: Cannot

Failed loading D:\Program Files\phpStudy20161103\php\php-5.6.27-nts\ext\php_xdebug.dll

我用的是phpstudy 更新完composer php 切换composer的国内源的时候老是报找不到\php_xdebug.dll的错误, 原因是, 在php.ini 里面默写就是在Program Files文件夹下, 修改php.ini 就可以解决报找不到php_xdebug.dll 文件的错误 更改完成后记得重启服务, 重新打开控制台. 原文地址:https://www.cnblogs.com/zhongke/p/10080707.html

Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#&lt;Object&gt;‘的解决方法

因为webpack 2中不允许混用import和module.exports , 解决办法就是统一改成ES6的方式编写即可. import { copyDeep } from '@/libs/tools.js'; export default copyDeep; 原文地址:https://www.cnblogs.com/easonw/p/10595576.html

innerHTML/outerHTML; innerText/outerText; textContent

innerHTML v.s. outerHTML Element.innerHTML Reference: https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML Functionality Get serialized HTML code describing its descendants. Set : Remove all the children, parse the content string and as

6.2.3 Property Access Errors

JavaScript: The Definitive Guide, Sixth Edition by David Flanagan Property access expressions do not always return or set a value. This section explains the things that can go wrong when you query or set a property. It is not an error to query a prop

fetch 报错 Failed to execute &#39;fetch&#39; on &#39;Window&#39;: Request with GET/HEAD method cannot have body.

TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body. 在"窗口"上执行"取"失败:GET / get方法的请求不能有正文. GET requests can't have a request body, you can't make them have one. GET requests only retrieve data,