GeekBox

IT系エンジニアの雑記

【javascript】ログインボタンの二度押し対策

2015/02/14

ログインボタンを押してから次の画面遷移に時間がかかる場合、ユーザが二回三回とボタンを押す可能性がある。トラフィック量をなるべく減らしたいときはログインボタンを一度しか押せないようにする必要があるのでその方法。

以下ソース

//onclickでsendを呼ぶ
<a href="#" onclick="send();return false;"><img src="/login_btn.png" alt="ログイン" /></a>

<script type="text/javascript">

    var flg = 0;

    function send(){
        if (flg == 0){
            document.frmLogin.submit();
            flg = 1;
        }
    }
</script>

必要に応じてタイムアウトでエラーページに遷移する処理を入れるのもあり

setTimeout("location.href='index.php'", 1000 * 10);

この場合ログインするまでの処理が10秒たつとindex.phpへ遷移する。しかしログインが成功している場合エラーページに遷移してもセッション等にログイン情報が入っている場合は消したりしないといけない。

-javascript