javascript - 从 html 'file' 输入 : Chrome vs. Firefox 中提取文件名

标签 javascript jquery html upload

我有一个 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");
}

我尝试在我现有的代码之一上复制相同的内容并得到这个,enter image description here

关于javascript - 从 html 'file' 输入 : Chrome vs. Firefox 中提取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43830271/

相关文章:

javascript - jQuery No-Ui-Slider,如何锁定多个互连的 slider 总和为 100?

javascript - 文本长度限制在我的 instafeed 模板中不起作用

javascript - 为什么它不使用 jquery 在控制台日志中显示 JSON 数据?

php - PHP邮件功能无法完成电子邮件的发送

javascript - 将事件列表置于列表顶部

Javascript/Node : store return value of a function into a variable

使用 jinja 模板加载页面时的 jQuery addClass/removeClass

javascript - 我正在使用 jquery/ajax 进行登录。发送作品和服务器端返回登录,但这失败了

html - 复选框/单选按钮换行问题

javascript - 如何使用javascript删除所有iframe