Javascript Disable button and reenable it after 5 seconds

I want to disable my button on click and then reenable in after 5 seconds but its not working properly.

  function submitPoll(id){
      document.getElementById("votebutton").disabled = true;
      document.getElementById("votebutton").delay(5000).disabled = false;
  }

Upvotes: 14

Views: 54538

Answers (2)

galitskyd
galitskyd

Reputation: 216

Like Zee said .delay is a JQuery function which can only be used on a JQuery object. Currently you are only using a reference to an HTML element which is produced by .getElementById()

If you are wanting a button that disables itself. I went ahead and made a little example on jsfiddle.

http://jsfiddle.net/1z0bx0t7/

Using code that looks like:

function submitPoll() {
    document.getElementById("votebutton").disabled = true;
    setTimeout(function() {
        document.getElementById("votebutton").disabled = false;
    }, 5000);
}
document.getElementById("votebutton").addEventListener("click", submitPoll);

Upvotes: 10

Zee
Zee

Reputation: 8488

.delay is jQuery. You can simply use setTimeout in Javascript.

function submitPoll(id){
      document.getElementById("votebutton").disabled = true;
      setTimeout(function(){document.getElementById("votebutton").disabled = false;},5000);
  }

Upvotes: 28

Related Questions