ASP.Net JavaScript

○2重クリック防止 - ボタンを非活性化

<input type="submit" name="btn_Regist" value="保存" onclick="DisableButton(this);" id="btn_Regist"/>

        function DisableButton(b) {
            b.style.display = 'none';
            var ele = b.cloneNode(true);
            ele.id = '';
            ele.disabled = true;
            ele.style.display = '';
            b.parentNode.insertBefore(ele, b);
        }

○2重クリック防止 - 画面フリーズ

    <style type="text/css">    
        .loading
        {
            position:fixed;
            top:50%;
            left:50%;
            color:Red;
            z-index:100;

        }
       .lockOff
        {
          display: none;
          visibility: hidden;
        }
        .lockOn
        {
          display: block;
          visibility: visible;
          position: absolute;
          z-index: 800;
          top: 0px;
          left: 0px;
          width: 105%;
          height: 205%;
          background-color: #ffffff;
          text-align: center;
          padding-top: 20%;
          
          opacity: 0.25;
        }     
    </style>

  <div id="LockPane" class="lockOff"></div>  

<asp:Label ID="Status" runat="server" Text="" CssClass="loading"></asp:Label>


    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>


        function ShowWait(exported) {
            $(".lockOff").addClass("lockOn")
            var h = $(".lockOn").height();
            $(".lockOn").height(document.body.clientHeight);
            $get('Status').innerHTML = "<img  src='/images/loader.gif'  >";

            if (exported) {
                intervalId = setInterval(function () {
                    if ($.cookie('exported')) {
                        HideWait();
                        // ポーリングを停止
                        clearInterval(intervalId);
                        // フラグをクリア
                        $.removeCookie('exported', { path: '/' });
                    }
                }, 1000);
            }
        }

        function HideWait() {
            $(".lockOff").removeClass("lockOn");
            $get('Status').innerHTML = "";
        }

        function confirmAndWait(txt, exported) {
            if (confirm(txt)) {
                ShowWait(exported);
                return true;
            }
            return false;
        }

・HTML
<input type="submit" name="btn" value="次へ" onclick="ShowWait();" id="btn"/>

<input type="submit" name="btn" value="ダウンロード" onclick="ShowWait(true);" id="btn"/>
(ASP.Net)
 Response.BinaryWrite(System.IO.File.ReadAllBytes(file));
 HttpCookie cookie = new HttpCookie("exported");
 cookie.Value = "ok";
 cookie.Expires = DateTime.Now.AddMinutes(1);
 Response.Cookies.Add(cookie);
 Response.End();

<input type="submit" name="btn" value="確認" onclick="confirmAndWait('よろしいですか?');" id="btn"/>

○JavaScript

  <!--<script type="text/javascript" src="/Scripts/jquery-1.7.1.min.js"></script>-->
 <!--<script type="text/javascript" src="/Scripts/jquery-1.4.1.cookie.min.js"></script>-->
 <!--<script type="text/javascript" src="<%= ResolveUrl("~/Scripts/1.7.1jquery.min.js") %>"></script>-->
 <!--<script type="text/javascript" src="<%= ResolveUrl("~/Scripts/1.4.1jquery.cookie.min.js") %>"></script>-->
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
 <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です