我有一个输入标签,我禁用了它,并绑定到另一个输入标签,以创建自定义文本以及通过它打开文件资源管理器的能力。
HTML:
<input id="fileInput" type="file" accept="application/JSON" style="display:none;" />
<input title="Load a existing JSON file from your PC" id="btnUploadJSON" type="button" value="Upload JSON"
onclick="document.getElementById('fileInput').click();"
onMouseOver="this.style.backgroundColor='#efcc00'"onMouseOut="this.style.backgroundColor='#eee600'"/>我在这里看了一个示例example of how to upload a json into variable,但它使用了两个按钮。1打开资源管理器,第二个解析并显示json。我想只有一个按钮来实现这一点。理想情况下,可以在文件资源管理器关闭后检查文件是否已上载,然后自动执行导入功能。
所以我的问题可能是,有没有一种方法可以检测文件资源管理器何时关闭,以及文件是否已被选中?
这是我的JS函数,问题是它在我选择文件之前触发,所以长度<= 0在文件资源管理器之前触发。是否可以让它等待文件资源管理器关闭,然后执行onclick()?
JavaScript:
document.getElementById('btnUploadJSON').onclick = function() {
//uploading a json file via file explorer
var files = document.getElementById('fileInput').files
console.log(files)
if (files.length <= 0) {
alert("Json file seems to be empty or incorrect format, please double check you are uploading the right file!")
return false
}发布于 2020-09-11 21:12:46
只需更改此行:
- document.getElementById('btnUploadJSON').onclick = function() {
+ document.getElementById('fileInput').onchange = function() {https://stackoverflow.com/questions/63847694
复制相似问题