我有一个 HTML 表单,其中包含类型为“file”的输入字段,ID 为“fdata”。 输入和文件上传在 Chrome 和 Firefox 上都能完美运行。
但是,我还需要在我的 javascript 代码中使用上传的文件的名称,以用于其他目的。我使用了以下行:
var filename = $('#fdata').get(0).files[0].name;
在 Chrome 上运行良好,但在 Firefox 上会出现以下错误:
TypeError: $(...).get(...).files[0] is undefined
当我使用 $('#fdata')[0].files[0].name
时,这也失败了...我的做法是否错误?如果是这样,正确的方法是什么......?
最佳答案
当您在选择文件之前尝试访问文件名时,就会出现该错误。 您可以通过使用来避免这种情况
if($('#fdata').get(0).files.length){
var filename = $('#fdata').get(0).files[0].name;
}else{
alert("No file selected");
}
关于javascript - 从 html 'file' 输入 : Chrome vs. Firefox 中提取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43830271/