2010-12-02 6 views
0

ファイルアップロードを実行するアクションに何らかの種類のAjaxローダーを設定したいと思います。ファイルがかなり大きくなると(Excel 2000行以上)、処理されるまでに時間がかかり、ブラウザに表示される以外のフィードバックを待っている間にユーザーには非常に不快です。ファイルアップロードアクションでAjaxローダー

私にとって理想的な解決方法は、ブロック中のポップアップで、その間に別のファイルをアップロードするのを防ぐために「ファイルを処理中です...」というメッセージを表示することです。

答えて

0

これは本当にsymfonyのとは関係ありませんが、まあ...私はsymfonyのアプリ上での場所でこのような何かを持っている:

TEMPLATE:

<input type="submit" class="jq-upload" value="Upload" /> // submit button 
<div class="jq-loader"></div> // empty div for a loader image 

JS:

$(document).ready(function() 
{ 
    $(".jq-upload").click(function() { 
    $(".jq-loader").addClass("jq-load-icon"); 
    }); 
}); 

CSS:

.jq-load-icon {width: 16px; height: 16px; background: url('../images/loader.gif') no-repeat;} 

ので、基本的には、アップロードボタンをクリックすると、背景画像としてアニメーションGIFを持っていることへの次の空のdivにクラスを追加します。この場合、典型的なローディングアイコンです。

これで、ポップアップを作成したり、必要に応じて調整したりできます。