如何在单击后禁用按钮两秒钟然后再次启用它?

时间:2013-03-21 02:41:56

标签: c# javascript asp.net

如何在点击后禁用按钮两秒钟,然后再次启用它?

我想在javascript中的OnClientClick中执行此操作,运行OnClientClick后,它将运行OnClick事件,然后再次启用按钮

5 个答案:

答案 0 :(得分:2)

在纯JavaScript中执行此操作非常简单:

var btn = document.getElementById("myButton");
btn.onclick = function() {
    btn.disabled = true; // disable button
    window.setTimeout(function() {
       btn.disabled = false; // enable button
    }, 2000 /* 2 sec */); 
}; // Warning: this will replace existing onclick event

如果您正在使用jQuery,则可以使用此代码:

var btn = $("#myButton");
btn.click(function() {
    btn.attr("disabled", "disabled"); // disable button
    window.setTimeout(function() {
       btn.removeAttr("disabled"); // enable button
    }, 2000 /* 2 sec */); 
});

答案 1 :(得分:0)

您可以使用此功能:

//Disable the button here
setTimeout("EnableTheButton();", 2000); // put this inside the click event

然后声明这个函数:

function EnableTheButton() {
    // enable the button here
}

答案 2 :(得分:0)

使用click even禁用按钮,然后设置超时以在所需时间后重新启用它:

<button onclick="
  var button = this;
  this.disabled = true;

  // Put other listener code here

  window.setTimeout(function(){
    button.disabled = false;
  }, 2000);
">Button</button>

或动态附加:

window.onload = function() {

    document.getElementById('b0').onclick = function() {

      var button = this;
      button.disabled = true;

      // Put other listener code here

      window.setTimeout(function(){
        button.disabled = false;
      }, 2000);
    };
}

答案 3 :(得分:0)

试试这个: HTML页面:

<button id="myButon" onclick="disableButon();"></button>

javascript部分:

function disableButon()
{   
    var timer;
    document.getElementById('myButon').disabled = true;
    timer = setTimeout("activateButon()", minutes * 60000);
}

下一个功能启用:

function activateButon()
{
    document.getElementById('myButon').disabled = false;
}

答案 4 :(得分:-1)

请参阅以下代码段,以便在10000毫秒(10秒)后启用保存按钮

您最初可以将控件设置为disabled:true或OnLoad可以setDisabled(true)。这绝对符合您的要求。然后你可以采取以下方式:

clearTimeout(this.enableSaveButton);

this.enableSaveButton = setTimeout(function () {
            if (Ext.getCmp('btn-Save'))
            Ext.getCmp('btn-Save').setDisabled(false);
        }, 10000);