Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable button after submit with jQuery

I know there are a lot of questions about it, but I tried several solutions, and nothing works.

In my django app I have a form:

<form method='post'>     <button type='submit'>Send</button> </form> 

I wan't to disable the button once the user has submitted the form. Using other questions, I tried several things, like:

<button type='submit' onclick="this.disabled=true">Send</button> 

When I click, the button is disabled... but the form is not submitted. And for each try I had the same issue: either the button is disabled or the form is submitted. I can't find how to do both...

I'm using Chrome. Any idea on why I have this problem? Thank you for your help.

like image 525
Juliette Dupuis Avatar asked Nov 28 '12 13:11

Juliette Dupuis


People also ask

How disable submit button until form is filled jQuery?

Approach: To enable or disable the form submit button, we use the below code snippet. $('#enabled'). click(function () { if ($('#submit-button').is(':disabled')) { $('#submit-button'). removeAttr('disabled'); } else { $('#submit-button').

Is button disabled jQuery?

Checking if the button is disabled or enabled with jQuery removeAttr('disabled'); }; const checkButton = (e) => { const isDisabled = $('#my-button'). prop('disabled'); if( isDisabled ){ alert("Is disabled!"); } else{ alert("Is enabled"); } }; $(document).


2 Answers

Try this:

$('form').submit(function() {   $(this).find("button[type='submit']").prop('disabled',true); }); 
like image 108
Johann Avatar answered Sep 25 '22 14:09

Johann


I like this, don't have to traverse the DOM. Put function on a setTimeout function, this allows make submit and after disable button, even if setTimeout is 0

$(document).ready(function () { $("#btnSubmit").click(function () {     setTimeout(function () { disableButton(); }, 0); });  function disableButton() {     $("#btnSubmit").prop('disabled', true); } }); 
like image 25
Carlos E Avatar answered Sep 25 '22 14:09

Carlos E