Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net中使用Javascript永久禁用按钮?_Javascript_Jquery_Html_Css_Asp.net - Fatal编程技术网

如何在asp.net中使用Javascript永久禁用按钮?

如何在asp.net中使用Javascript永久禁用按钮?,javascript,jquery,html,css,asp.net,Javascript,Jquery,Html,Css,Asp.net,我在asp.net中使用javascript创建了一个倒计时计时器。时间结束后,Button1被禁用,但当我重新加载页面时,倒计时计时器被重置,并且Button1被启用 当计时器等于零时,我想永久禁用按钮1。我的代码是: var-tim; var min=01; var-sec=00; var f=新日期(); 函数f1(){ f2(); } 函数f2(){ 如果(parseInt(秒)>0){ sec=parseInt(sec)-1; document.getElementById(“sho

我在asp.net中使用javascript创建了一个倒计时计时器。时间结束后,
Button1
被禁用,但当我重新加载页面时,倒计时计时器被重置,并且
Button1
被启用

当计时器等于零时,我想永久禁用
按钮1
。我的代码是:

var-tim;
var min=01;
var-sec=00;
var f=新日期();
函数f1(){
f2();
}
函数f2(){
如果(parseInt(秒)>0){
sec=parseInt(sec)-1;
document.getElementById(“showtime”).innerHTML=“+min+”分钟“+sec+”秒”;
tim=设置超时(“f2()”,1000);
}
否则{
if(parseInt(sec)==0){
min=parseInt(min)-1;
if(parseInt(min)=-1){
清除超时(tim);
$(“#按钮1”).prop('disabled',true);
}
否则{
秒=60;
document.getElementById(“showtime”).innerHTML=“+min+”分钟“+sec+”秒”;
tim=设置超时(“f2()”,1000);
}
}
}
}

时间将在以下时间后结束:
`
Javascript

 document.getElementById("myBtn").disabled = true;
或者如果您需要jquery,请单击

$('.rbutton').on('click',function() {
$(this).prop("disabled",true);
});

当您重新加载页面时,页面的状态将完全重置,就像新访问者找到了您的页面一样,因此您需要能够在两次访问之间存储该状态

一种解决方案是,您可以设置计时器何时过期,并在页面加载时检查cookie是否存在。如果有,请在没有计时器的情况下立即禁用按钮


一个更复杂的解决方案是调查在服务器上保存会话状态,但我不知道服务器端正在进行什么,所以我无法给您提供更多信息。

您可以在计时器关闭时设置cookie。并在每个页面加载时检查cookie,如果需要,禁用按钮。没有别的办法

仅供参考:您可以使用相同的cookie来禁用服务器端本身的按钮


<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>
函数f2(){ 如果(parseInt(秒)>0){ sec=parseInt(sec)-1; document.getElementById(“showtime”).innerHTML=“+min+”分钟“+sec+”秒”; tim=设置超时(“f2()”,1000); } 否则{ if(parseInt(sec)==0){ min=parseInt(min)-1; if(parseInt(min)=-1){ 清除超时(tim); $(“#按钮1”).prop('disabled','true'); storeValue('disabled','true'); } 否则{ 秒=60; document.getElementById(“showtime”).innerHTML=“+min+”分钟“+sec+”秒”; tim=设置超时(“f2()”,1000); } } } } 函数storeValue(键、值){ if(本地存储){ setItem(键、值); }否则{ $.cookies.set(键、值); } } 函数getStoredValue(键){ if(本地存储){ 返回localStorage.getItem(键); }否则{ 返回$.cookies.get(键); } } 函数f1(){ f2(); var模型=getStoredValue('disabled'); 如果(模型=='true') { $(“#按钮1”).prop('disabled','true'); } } var tim; var min=01; var-sec=00; var f=新日期();

使用此代码并使在浏览器中使用

mmmmmmmm每次刷新页面时都会重新启动倒计时这是我面临的主要问题:(@ashikthanks但我想在时间结束后永久禁用它。因为,现在它禁用按钮一段时间,但在重新加载webform后,按钮再次启用&计时器再次从一开始启动。非常感谢您宝贵的时间和帮助:)@Saneesh