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 に答える