如何使用jquery获取文件输入中删除文件的值?

时间:2015-10-31 16:28:32

标签: javascript jquery html file input

是否可以在文件上传输入字段中设置已删除文件的数据?或者需要将删除的文件立即上传到服务器?

示例代码:

<input type="file" id="drop-box" />
$("#drop-box").on('drop', function (e) {
    e.stopPropagation();
    e.preventDefault();      
    var files = e.originalEvent.dataTransfer.files;
    readURL(files);
});

1 个答案:

答案 0 :(得分:1)

您可以使用$('input')[0].files[0]代替e.originalEvent.dataTransfer.files

  

删除元素或文本选择时会触发drop事件   在有效的放弃目标上。

当您将文件放入输入时,JQuery drop事件被触发,而它没有选择文件。 你需要等待几次文件选择。

运行底部示例并在输入上删除文件以查看结果。

$("#drop-box").on('drop', function (e){
    setTimeout(function(){   
        e.stopPropagation(); 
        var files = $('#drop-box')[0].files[0];
        
        $("p").text(files.name);
        $('#drop-box').val("");
    },1);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="drop-box" />
<p></p>