[英]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.