4

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

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

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

应该是初始阶段,然后使用类似的东西启用它

$('#submit_main').removeAttr('disabled');

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

4

2 回答 2

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

于 2013-05-04T20:39:41.077 回答
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
    }
})
于 2014-05-07T05:15:08.857 回答