jQuery中和 input.files等效的东西是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (83)

我有一个简单的html表单,只有一个文件上传输入。

在过去,我使用input.files然而,我不知道如何使用JQuery实现这一点;

代码:

$(function () {
    $("#cmdSubmit").bind("click", function () {
        var file = document.getElementById("fileInput").files[0];
        alert(file); //A

        file = $("#fileInput").val();
        alert(file); //B

        file = $("#fileInput").files[0];
        alert(file); //C

    });        
});​

什么是jQuery等价的input.files?

提问于
用户回答回答于

你必须访问元素。试着:

file = $("#fileInput")[0].files[0];
alert(file); //C

或者

file = $("#fileInput").prop('files')[0];
alert(file);
用户回答回答于

jQuery没有为FilesAPI提供包装器。因此,没有jQuery风格的方法来做到这一点,至少没有内置到jQuery核心中。

你的选择:

  • 坚持选择A
  • 等待jQuery包含这样的包装器(它们可能没有)
  • 找到由别人编写的扩展(如果存在的话)
  • 自己写分机

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励