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