Javascript 优秀的上传程序在格式化代码、事件方面遇到问题

Javascript 优秀的上传程序在格式化代码、事件方面遇到问题,javascript,jquery,fine-uploader,Javascript,Jquery,Fine Uploader,我需要有多个事件与fineuploader实例化关联,但我不确定如何进行。它们不能添加到fineuploader属性中吗。?那么完整的事件不是叫做onComplete吗?有没有这样的例子?另外,我对结束括号的数量感到困惑,等等。当我最初剪切并粘贴这段代码时,有一个额外的“}”;它坐在外面。我删除了它,但我不确定这对实际代码来说是不是很酷。谢谢你的帮助,我已经玩了好几个小时了。某些变量已设置在此代码之外 $(文档).ready(函数(){ var controlType='@Model.contr

我需要有多个事件与fineuploader实例化关联,但我不确定如何进行。它们不能添加到fineuploader属性中吗。?那么完整的事件不是叫做onComplete吗?有没有这样的例子?另外,我对结束括号的数量感到困惑,等等。当我最初剪切并粘贴这段代码时,有一个额外的“}”;它坐在外面。我删除了它,但我不确定这对实际代码来说是不是很酷。谢谢你的帮助,我已经玩了好几个小时了。某些变量已设置在此代码之外

$(文档).ready(函数(){
var controlType='@Model.controlType';
var surveyItemResultId=@Model.Results[0]。surveyItemResultId;
var itemId=@Model.SurveyItemId;
var instance=@Model.Results[0]。SurveyInstanceID;
var loopingCounter=0;
var fineuploader=$(“#文件上载”).fineuploader({
请求:
{
端点:'@Url.Action(“上载文件”、“调查”),
customHeaders:{Accept:'application/json'},
参数:{
surveyInstanceId:(函数(){return instance;}),
surveyItemResultId:(函数(){return surveyItemResultId;}),
itemId:(函数(){return itemId;}),
loopingIndex:(函数(){返回loopingCounter++;})
}             
},
验证:{
接受文件:['image/*'、'application/pdf'、'text/csv'],
允许的扩展:['jpeg','jpg','gif','png','csv','pdf'],
大小限制:1024*1024*1//1MB
},
多重:对,
正文:{
上传按钮:“选择您的上传文件”
}           
})                   
.on('complete',函数(事件、id、文件名、响应){
警报(“成功:+responseJSON.Success”);
上传的FileCounter++;
if(filesToUpload==uploadedFileCounter)
{
警报(“上传完毕!”);
}           
}).on('submitted',函数(事件、id、文件名){
filesToUpload++;
警报(“已提交:+filesToUpload”);
}
});
});                                    

您的代码充斥着语法和其他错误。首先,您引用的是
filesToUpload
uploadedFileCounter
变量,这些变量在代码中没有定义。其次,代码中有一个额外的结束括号

您的代码还存在一些格式化问题。首先,代码缩进不一致。第二,您正在混合花括号的位置

这是您的原始代码和我的调整:

$(document).ready(function () {

    var controlType = '@Model.ControlType',
        surveyItemResultId = @Model.Results[0].SurveyItemResultId,
        itemId = @Model.SurveyItemId,
        instance = @Model.Results[0].SurveyInstanceID,
        loopingCounter = 0,
        filesToUpload = 0,
        uploadedFileCounter = 0;


    var fineuploader = $('#files-upload').fineUploader({
        request: {
            endpoint: '@Url.Action("UploadFile", "Survey")',
            customHeaders: { Accept: 'application/json' },
            params: {
                surveyInstanceId: (function () { return instance; }),
                surveyItemResultId: (function () { return surveyItemResultId; }),
                itemId: (function () { return itemId; }),
                loopingIndex: (function () { return loopingCounter++; })
            }
        },
        validation: {
            acceptFiles: ['image/*','application/pdf','text/csv'] ,
            allowedExtensions: ['jpeg', 'jpg', 'gif', 'png', 'csv', 'pdf'],
            sizeLimit: 1024*1024*1 // 1MB
        },
        multiple: true,
        text: {
            uploadButton: '<i class="icon-plus icon-white"></i>Select your upload file(s)'
        }
    })

        .on('complete', function(event, id, fileName, responseJSON) {
            alert("Success: " + responseJSON.success);

            uploadedFileCounter++;
            if (filesToUpload == uploadedFileCounter) {
                alert("DONE UPLOADING!");
            }

        }).on('submitted', function(event, id, filename) {
            filesToUpload++;
            alert("submitted: " + filesToUpload);
        });
});                                    
$(文档).ready(函数(){
var controlType='@Model.controlType',
surveyItemResultId=@Model.Results[0]。surveyItemResultId,
itemId=@Model.SurveyItemId,
实例=@Model.Results[0]。SurveyInstanceID,
循环计数器=0,
filesToUpload=0,
uploadedFileCounter=0;
var fineuploader=$(“#文件上载”).fineuploader({
请求:{
端点:'@Url.Action(“上载文件”、“调查”),
customHeaders:{Accept:'application/json'},
参数:{
surveyInstanceId:(函数(){return instance;}),
surveyItemResultId:(函数(){return surveyItemResultId;}),
itemId:(函数(){return itemId;}),
loopingIndex:(函数(){返回loopingCounter++;})
}
},
验证:{
接受文件:['image/*'、'application/pdf'、'text/csv'],
允许的扩展:['jpeg','jpg','gif','png','csv','pdf'],
大小限制:1024*1024*1//1MB
},
多重:对,
正文:{
上传按钮:“选择您的上传文件”
}
})
.on('complete',函数(事件、id、文件名、响应){
警报(“成功:+responseJSON.Success”);
上传的FileCounter++;
if(filesToUpload==uploadedFileCounter){
警报(“上传完毕!”);
}
}).on('submitted',函数(事件、id、文件名){
filesToUpload++;
警报(“已提交:+filesToUpload”);
});
});                                    

额外的
})
可能是要关闭您的
$(文档)。准备好内部函数。看起来您正在正确定义事件。你到底有什么问题?你是对的,额外的});医生准备好了。我从不需要链接事件,只有在删除.on('submitted')和a})时,我才能使代码正常工作;。.on('complete')逻辑按预期启动。明白了,这很微妙,但我的语法不正确。顶层代码已更新。我已回滚您的更改。请不要以这种方式编辑您的问题。将来阅读这个问题时,会让其他人感到困惑。将来,如果您有问题的解决方案,请添加答案。我目前正在键入我自己的答案,以及一些修复和建议。很抱歉编辑了原文,我不确定该部分是如何工作的。是的,我也通过试验和大量错误找到了额外的卷曲括号。在原始问题的最底层,我确实提到了一些变量设置在显示的代码之外,您提到的两个变量就是这些。感谢您对格式的编辑,因为我不知道该怎么做,尤其是在活动期间。像往常一样谢谢你的帮助,没问题。在将来,我建议使用一个好的IDE,它将在开发过程中揭示这些类型的问题。我个人使用(并且喜欢)JetBrains的IntelliJ创意。