1

AJAXを使用してWebサーバーにファイルをアップロードするために、Jquery UIダイアログにあるuploadify flashコンポーネントを使用しています。ただし、複数のファイルをアップロードする場合、ユーザーはすべてのファイルがアップロードされるまで待つ必要があります。

それまでは、そのダイアログ ボックスを閉じることはできません。ユーザーがダイアログを閉じると、アップローダーは失われます。

では、uploadify やその他のプラグインを使用してバックグラウンドでファイルをアップロードするにはどうすればよいでしょうか?

4

3 に答える 3

1

次の手順を使用して、バックグラウンドアップロードを実現できます。

1)ライトボックス/UIダイアログボックスでuploadifyを作成します。

2)uploadifyの下にボタンを押して、完了/アップロードの開始などを行います。ユーザーがこのボタンをクリックすると、ポップアップボックスが非表示になり、オーバーレイが非表示になり、uploadifyメソッドを呼び出してファイルのアップロードを開始します。

注:z-indexを試して、他の要素の下にあるpoup/dialogボックスを非表示にしてください。

于 2012-09-04T02:45:05.863 に答える
1

まず、ユーザーが送信ボタンを押してファイルをアップロードするときに、ダイアログを閉じるボタンを無効にする必要があります。

次に、uploadify を初期化するときに、いくつかのメソッドを使用できます。Uploadifu には、すべてのファイルが処理されたことを知らせる「 queueComplete 」メソッドがあります。以下は、サイトから提供されたサンプルです。

$(function() {
    $("#file_upload").uploadify({
        'swf'      : '/uploadify/uploadify.swf',
        'uploader' : '/uploadify/uploadify.php',
        'onQueueComplete' : function(queueData) {
            alert(queueData.uploadsSuccessful + ' files were successfully uploaded.');
        }
    });
});

すべてのファイルがアップロードされると、onQueueComplete はそこに配置したコードをトリガーします。そこから、ダイアログを閉じるボタンを有効にできます。

ダイアログ ボタンの有効化/無効化に関しては、ボタンにコードを提供する必要があります。単純なリンクですか?

于 2012-08-23T13:07:08.757 に答える
1

アップロード ダイアログの css を変更して、アップロードが開始されたときにウィンドウの下部にバーが表示されるようにします。ダイアログを完全に削除するのは得策ではありません。ユーザーは、アップロードがいつ完了し、いつページから安全に移動できるかわかりません。

アップロードを削除せずにダイアログを本当に削除したい場合は、常に

$(".upload_dialog").css({ 'display':'none' });

編集: uploadify Web サイトを試してみましたが、アップロード ダイアログを含む div にはクラス「uploadify-queue」があり、内部の項目は「uploadify-queue-item」のようです。Chrome または Firefox を使用している場合は、関心のある要素を右クリックして [要素の検査] を選択すると、そのようなことを理解できます。Chrome や Firefox 以外で開発している場合は、今すぐ切り替えてください。

したがって、これを CSS に追加すると、画面の下部にバーが表示されます。

.uploadify-queue 
{
  margin: 0;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 1000;
  background: whiteSmoke;
}
于 2012-08-28T11:42:41.003 に答える