Jquery Blueimp文件 - 上传回调

时间:2013-05-04 20:31:49

标签: jquery file-upload blueimp

我有一个简单的图片上传程序,用户需要上传大图片。我正在使用Blueimp文件上传程序上传图片。我还为用户提供了一些输入字段来填充图片的元数据(即标题,作者等)。

想法是用户在填写表单并上传图片后按下单独的提交按钮。但是,如果用户在上传图片之前按下按钮,则会导致错误。我想禁用表单提交按钮,直到上传图片并完成进度条。

$('#submit_main').attr('disabled', 'disabled'); 

应该是初始阶段,然后使用类似

的方式启用它
$('#submit_main').removeAttr('disabled');

如何在上传所有文件后进行回调。

2 个答案:

答案 0 :(得分:5)

$('#submit_main').attr('disabled', 'disabled'); 
$('#fileupload').bind('fileuploaddone', function (e, data) {
    $('#submit_main').removeAttr('disabled');
});

https://github.com/blueimp/jQuery-File-Upload/wiki/Options

答案 1 :(得分:4)

实际上,每次上传文件时都会触发fileuploaddone事件。因此,如果您选择多个文件进行上传,则在第一个文件完成而不是最后一个文件完成后,您将提前启用提交。 更好的方法是使用fileuploadprogressall事件。

$('#myform').fileupload()
.bind('fileuploadstart', function(){
    // disable submit
})
.bind('fileuploadprogressall', function (e, data) {
    if (data.loaded == data.total){
        // all files have finished uploading, re-enable submit
    }
})