[英]How to Permanently Disable a button using Javascript in asp.net?
我在asp.net中使用javascript创建了一个倒数计时器。 完成时间后, Button1
被禁用,但是当我重新加载页面时,倒计时器被重置并且Button1
被启用。
我想在计时器等于零时永久禁用Button1
。 我的代码是:
var tim; var min = 01; var sec = 00; var f = new Date(); function f1() { f2(); } function f2() { if (parseInt(sec) > 0) { sec = parseInt(sec) - 1; document.getElementById("showtime").innerHTML = ""+min+" Minutes ,"+sec+" Seconds"; tim = setTimeout("f2()", 1000); } else { if (parseInt(sec) == 0) { min = parseInt(min) - 1; if (parseInt(min) == -1) { clearTimeout(tim); $("#Button1").prop('disabled', true); } else { sec = 60; document.getElementById("showtime").innerHTML = "" + min + " Minutes ," + sec + " Seconds"; tim = setTimeout("f2()", 1000); } } } }
<body onload="f1()"> <div><h3>Time will be finished after:</h3> </div> <div id="showtime"></div> <div> <asp:Button ID="Button1" runat="server" Text="Submit"/></div>` </body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script>
<script>
function f2() {
if (parseInt(sec) > 0) {
sec = parseInt(sec) - 1;
document.getElementById("showtime").innerHTML = ""+min+" Minutes ,"+sec+" Seconds";
tim = setTimeout("f2()", 1000);
}
else {
if (parseInt(sec) == 0) {
min = parseInt(min) - 1;
if (parseInt(min) == -1) {
clearTimeout(tim);
$("#Button1").prop('disabled', 'true');
storeValue('disabled', 'true');
}
else {
sec = 60;
document.getElementById("showtime").innerHTML = "" + min + " Minutes ," + sec + " Seconds";
tim = setTimeout("f2()", 1000);
}
}
}
}
function storeValue(key, value) {
if (localStorage) {
localStorage.setItem(key, value);
} else {
$.cookies.set(key, value);
}
}
function getStoredValue(key) {
if (localStorage) {
return localStorage.getItem(key);
} else {
return $.cookies.get(key);
}
}
function f1() {
f2();
var model =getStoredValue('disabled');
if(model == 'true')
{
$("#Button1").prop('disabled', 'true');
}
}
var tim;
var min = 01;
var sec = 00;
var f = new Date();
</script>
使用此代码并使thrid方localstorage在浏览器中使用
您可以在计时器关闭时设置cookie。 并在每个页面加载检查cookie并在需要时禁用该按钮。 没有其他办法。
仅供参考:您可以使用相同的cookie来禁用服务器端的按钮。
使用Javascript
document.getElementById("myBtn").disabled = true;
或者如果你需要它与jquery-点击
$('.rbutton').on('click',function() {
$(this).prop("disabled",true);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.