Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为<;输入类型=";文件"&燃气轮机;_Javascript_Html_Reactjs - Fatal编程技术网

Javascript 为<;输入类型=";文件"&燃气轮机;

Javascript 为<;输入类型=";文件"&燃气轮机;,javascript,html,reactjs,Javascript,Html,Reactjs,我需要写一个文件输入,接受CSV文件,验证它,如果有错误的文件将不会上传。以下是React组件的代码: <CustomInput type="file" id="fileBrowser" name="file" label={filename || 'Choose CSV'} onChange={this.loadFile} accept="text/csv" invalid={!file.isValid} /> 所以我有一个问题:onChange事件只在输入文件

我需要写一个文件输入,接受CSV文件,验证它,如果有错误的文件将不会上传。以下是React组件的代码:

<CustomInput
 type="file"
 id="fileBrowser"
 name="file"
 label={filename || 'Choose CSV'}
 onChange={this.loadFile}
 accept="text/csv"
 invalid={!file.isValid}
/>

所以我有一个问题:onChange事件只在输入文件更改时处理。假设我输入了无效的CSV文件,出现错误,在该文件中找到它,更正并再次尝试加载该文件,但onChange事件无法处理,因为input认为我拥有相同的文件,因为它的名称。我找到的唯一解决方法是加载另一个文件,然后再次加载旧文件或更改旧文件的名称


如果有其他解决方案?

当您发现文件无效时,将
输入的值设置为
null
函数foo(){
var fileInput=document.querySelector(`input[name=“myFile”]`);
//您的逻辑文件显示该文件无效
//如果无效
fileInput.value=null;
log(“调用onchange”);
}

使用表单、提交输入和
onSubmit
事件?在出现错误时将值设置为null。当检测到输入文件无效时,请清除
(通常为
input.value=null;
)。