○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>