さじろーどっとねっと
<非同期通信中にボタンを押しても無視する>

'Loading...'と出していても、バンバンボタンを押してしまう人がいるので、読み込み中にボタンを押すと「NG」と表示されるようにして、再読み込みはしないようにしました。

# 実行結果はこちら


正しく表示されましたか?
作って思ったんですが、同期と変わらないじゃん・・・


ソース
<script type="text/javascript">
# 処理中のフラグ run を入れました
var run=0;
# 今度はボタンを押したら、これを呼び出します
function start_ajax2_2() {
# runが、0(実行してない)だったら、前回と同じ処理をします
if(run == 0){
document.getElementById('test2_2').innerHTML='Loading...';
sendRequest(on_loaded_test2_2,'','GET','test2.cgi',true);
run=1;
# runが、0以外(実行してる)だったら、test2_2に「NG」を入れます
}else{
document.getElementById('test2_2').innerHTML='NG';
}
}

# こっちは同じ
function on_loaded_test2_2(oj) {
document.getElementById("test2_2").innerHTML=unescape(oj.responseText);
run=0;
}
</script>
<input type=button value="test2_2" onclick="start_ajax2_2();">
<span id="test2_2"></span>

ブックマークに追加する