内容的には、jQueryの内容になります!
題名が上手く思いつかなかったです。
書きたい内容は、
目次
<li>
<a href="#i">なぜやりたいのか</a>
</li>
<li>
<a href="#i-2">実現方法</a>
</li>
<li>
<a href="#i-3">こんなプログラムです。(クライアント側)</a>
</li>
「サーバサイドのプログラムでCSVを作成、出力するまでの間、BlockUIを表示する」
です!
これで伝わるかな、まぁいっか。
なぜやりたいのか
WEBシステム上で、
CSV出力ボタンを押下した時に、
ダウンロード中だよとお知らせしたい!
他のボタンを操作させたくない!
二度押しを禁止したい!
という理由からです。
実現方法
端的に言うと、
Cookieを使うです!
Cookieはサーバから送られてくる、
データ?です。
識別するIDと値を設定することが出来ます。
サーバサイドのCSV作成プログラムの終わりで、
Cookieを設定します。
例:識別ID=complete 値=1(0=未完了、1=完了)
(Cookieの初期化を最初にした方がいいですね。)
クライアントサイドのプログラムで、
設定したCookieの値を取得できたらBlockUIを止める!
そう、これがやりたかったこと。
こんなプログラムです。(クライアント側)
下記コードは、
jquery.cookie.jsを使ってます。
function(){var timerId = setInterval(function(){//1000ミリ秒感覚で繰り返す。var txtCookie = $.cookie(‘complete’)//Cookieを取得if(txtCookie = 1 ){//取得した値が1だったら終了!$.unblockUI;clearInterval(timerId);}counter++;}, 1000);}
*submitする時に、$blockUIを発動してください。
確かこんな感じのコードでした!
以上!