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表单的

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

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

// 先定义个变量,再对其进行赋值就 ok
var v = val;  
$("#test_file").val(v); 

你可能感兴趣的:(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的解决办法)