js:错误Uncaught InvalidStateError: Failed to set the 'value' property on 'HTMLInputElement': This input element accepts a filename, which may only be programmatically set to the empty string的解决办法

@(html)[js报错]

问题

最近自己忙着工作,辛辛苦苦写了js方法,结果在测试的时候遇到一个特别尴尬的问题,因为在 Baidu & Google ,都找到了却没有个能直击重点的,可能是自己比较鸡肋,但是最后还是自己 get 到点了。现在简单说下,如下:

问题效果图:

error.png

问题原因

详细的说不来,就简单的说一说吧。这个问题的出现主要是因为form表单中的file造成的。其实在百度中已经有相关的解释了,只是没有那么确切的说是什么原因,只是简单说了解决办法。
灵感链接1
灵感链接2

解决方法

参考上面的灵感链接,其实出现这个问题是因为对form表单的
<input type="type" id="test_file" />

如果用js对文件类型进行直接赋值,就很有可能报错。

$("#test_file").val(val); // 这种写法就很有可能报这个错

// 先定义个变量,再对其进行赋值就 ok
var v = val;  
$("#test_file").val(v); 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容