.html (); for getting form input tag content

.html (); for getting form input tag content

How can I "get" the contents that are typed into a input on a form and place them in a element? The example below works on html elements but doesn't seem to work on input. Do I have to "action=post" the contents to make them accessible?
  1. <form>
  2. <input id="year" type="input">
  3. <input value="Generate" id="generate" type="button">
  4. </form>
  5. <div id="source"></div>
  6. <script>
  7. $('generate').click(function() {
  8.       var year = $('#year').html ();
  9.       $('#source').text(year);
  10. </script>