0

我在调用 onComplete 时遇到问题。它似乎没有在 onComplete 中运行代码。这是我所拥有的:

<script>
    $(document).ready(function () {
        $("#fine-uploader").fineUploader({
            request: {
                endpoint: 'upload2.php'
            },
            text: {
                uploadButton: 'Upload a file'
            },
            callbacks:{
                onComplete: function(id, fileName, responseJSON) {
                        alert("completed");
                        if (responseJSON.success) {
                            $('#imgPreview').html('Thumbnail:<img src="../images/test/' + fileName + '" alt="' + fileName + '">');
                        }
                   }
            }
        });

    });
</script>

尽管文件成功上传,但 onComplete 中的警报永远不会出现,并且 if 语句中的 html 更新永远不会出现。我在这个板上看到了其他类似的问题,但这些建议对我没有用。具体来说,一些用户似乎对 onComplete 部分使用了不同的格式:

.on('complete', function(event, id, fileName, responseJSON) {
            alert("Success: " + responseJSON.success);
            if (responseJSON.success) {
                 $('#files-upload').append('<img src="img/success.jpg" alt="' + fileName + '">');
            }

});

我不明白区别或我应该使用哪个,也无法在文档中找到任何帮助。

我对这些东西有点陌生,所以任何帮助或建议将不胜感激。谢谢!

4

1 回答 1

0

Fine Uploader 中的 jQuery 插件和非 jQuery 插件的事件处理程序的工作方式略有不同。您正在使用 jQuery 插件,因此根据文档,这些事件应被视为 jQuery 自定义事件。

因此,您的代码应如下所示:

<script>
    $(document).ready(function () {
        $("#fine-uploader").fineUploader({
            request: {
                endpoint: 'upload2.php'
            },
            text: {
                uploadButton: 'Upload a file'
            }
        })
            .on('complete', function(event, id, fileName, responseJSON) {
                alert("completed");
                if (responseJSON.success) {
                    $('#imgPreview').html('Thumbnail:<img src="../images/test/' + fileName + '" alt="' + fileName + '">');
                }
           });

    });
</script>
于 2013-08-28T02:28:50.490 回答