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)
16 Answers
You can do something like this:
$('input[name="age"], input[name="poscode"]').change(function(){ if ($(this).val()) { $("input[name='submit']").removeAttr('disabled'); } }); 2To 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'); } }); 2Give this a shot, here is a fiddle that I created so you can play with it.
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.
Try this example code please
<div> <div> <input type="text" name="inputComment" placeholder="Your comment goes here"> </div> <div> <button disabled type="button">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> Like sAc already mentioned, you have to remove the attribute 'disabled' altogether.