title: Why does the reset button on html forms not reset hidden fields?
body: <p>I discovered something surprising:</p>
  
  <pre><code>&lt;html&gt;
  &lt;head&gt;
  &lt;script type="text/javascript"&gt;
  function f()
  {
  document.getElementById("h").value++;
  document.getElementById("x").value++;
  }
  &lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
  
  &lt;form&gt;
  &lt;input type="hidden" name="hidden" id="h" value="5"/&gt;
  &lt;input type="text" id="x" value="5"/&gt;
  &lt;input name='clear' type='reset' id='clear' value='Clear'&gt;
  &lt;/form&gt;
  
  &lt;button type="button" onclick="f()"&gt;Increment&lt;/button&gt;
  &lt;button type="button" onclick="alert(document.getElementById('h').value)"&gt;Show hidden&lt;/button&gt;
  
  &lt;/body&gt;
  &lt;/html&gt; 
  </code></pre>
  
  <p>Trying this in Firefox 4.0.1, clicking clear always resets the text input to <code>5</code>, but <strong>never resets the hidden field</strong>.</p>
  
  <p>I (and others) did not expect this behavior at all: we expected the hidden value to get reset too!</p>
  
  <p><strong>Can anyone point to either documentation or specs that explain why the hidden input is treated differently by the reset button?</strong></p>
  
  <p>Explanations as to why such behavior is desirable are also welcome.</p>