Sunday, June 2, 2024
 Popular · Latest · Hot · Upcoming
129
rated 0 times [  130] [ 1]  / answers: 1 / hits: 132503  / 12 Years ago, tue, december 18, 2012, 12:00:00

I want my form submit button to be disabled/enabled depending on if the form is completely filled.



When the inputs are filled, the disabled button changes to enabled. That works great.
But I would like it to disable the button when an input gets emtied.



This is my script:



<script type=text/javascript language=javascript>
function checkform()
{
var f = document.forms[theform].elements;
var cansubmit = true;

for (var i = 0; i < f.length; i++) {
if (f[i].value.length == 0) cansubmit = false;
}

if (cansubmit) {
document.getElementById('submitbutton').disabled = false;
}
}
</script>
<form name=theform>
<input type=text onKeyup=checkform() />
<input type=text onKeyup=checkform() />
<input id=submitbutton type=submit disabled=disabled value=Submit />
</form>

More From » forms

 Answers
3

Just use



document.getElementById('submitbutton').disabled = !cansubmit;


instead of the the if-clause that works only one-way.



Also, for the users who have JS disabled, I'd suggest to set the initial disabled by JS only. To do so, just move the script behind the <form> and call checkform(); once.


[#81361] Sunday, December 16, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
tyreem

Total Points: 540
Total Questions: 94
Total Answers: 90

Location: Palestine
Member since Tue, Jul 20, 2021
3 Years ago
;