Reputation: 171
This is my part of my html
<input type="text" name="age" />
<input type="text" name="poscode" />
<input type="submit" name="submit" value="Next >>" disabled="disabled"/>
This is my script
<script type="text/javascript">
$(function(){
var enable = false;
if($("input[name='age']").val != "")
enable = true;
if($("input[name='poscode']").val != "")
enable = true;
if(enable == true) $("input[name='submit']").attr('disabled', '');
});
</script>
This is not working, any idea what i'm doing wrong?
After user filled up two input age & poscode, the submit button should become active ( disabled at start)
Upvotes: 5
Views: 19449
Reputation: 37633
Try this example code please
<div class="form-row align-items-center">
<div class="col-auto">
<input type="text" name="inputComment" class="form-control" id="inputComment" placeholder="Your comment goes here">
</div>
<div class="col-auto">
<button disabled id="btnSaveComment" type="button" class="btn btn-success">Save</button>
</div>
</div>
<script>
document.getElementById("btnSaveComment").disabled = true;
$(document).ready(function () {
$("#inputComment").on("change paste keyup", function () {
var text = $(this).val();
if (text.length > 0) {
document.getElementById("btnSaveComment").disabled = false;
}
else {
document.getElementById("btnSaveComment").disabled = true;
}
});
});
</script>
Upvotes: 0
Reputation: 1325
To enable/disable when key is pressed do this way:
$('input[name="age"], input[name="poscode"]').keyup(function(){
if ($(this).val())
{
$("input[name='submit']").removeAttr('disabled');
}else{
$("input[name='submit']").attr('disabled','disabled');
}
});
Upvotes: 4
Reputation: 919
Like sAc already mentioned, you have to remove the attribute 'disabled' altogether.
Upvotes: -1
Reputation: 8774
Did you attach this to the input fields in any way? The way your code is written, I believe the function is called once, after the document has been loaded, and then simply discarded. Give your function a name and attach it to onblur
or onchange
.
Upvotes: 0
Reputation: 382646
You can do something like this:
$('input[name="age"], input[name="poscode"]').change(function(){
if ($(this).val())
{
$("input[name='submit']").removeAttr('disabled');
}
});
Upvotes: 11
Reputation: 4403
Give this a shot, here is a fiddle that I created so you can play with it.
Upvotes: 3