title: Form submitting with GET method and location.hash value
body: <p>Have an html form with method="get", no action &amp; button with type="submit"</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>    (function(){
          jQuery(".time").text(Date.now());
      })();
      jQuery(".set-hash").on("click", function () {
          location.hash = "hash";
      });</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;
  &lt;form method="get"&gt;
      &lt;div class="time"&gt;&lt;/div&gt;
      &lt;input type="text" name="param"&gt;
      &lt;button type="submit"&gt;Submit&lt;/button&gt;
      &lt;button type="button" class="set-hash"&gt;Set Hash&lt;/button&gt;
  &lt;/form&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>Case 1.</p>
  
  <ul>
  <li>Click Submit button.</li>
  </ul>
  
  <p>See the request is sent.</p>
  
  <p>Case 2.</p>
  
  <ul>
  <li>Click Set Hash button</li>
  <li>Click Submit button</li>
  </ul>
  
  <p>See the request isn't sent. Nothing changed.</p>
  
  <p>Case 3.</p>
  
  <ul>
  <li>Click Set Hash button</li>
  <li>Set any value to Param input</li>
  <li>Click Submit button</li>
  <li>Set any other value to Param input</li>
  <li>Click Submit button</li>
  </ul>
  
  <p>See that the request is sent only when param changes.</p>
  
  <p>So the question is: <strong>why the request is sent only when param changes?</strong></p>
  
  <p>P. S.</p>
  
  <p>When change method from GET to POST everything works fine. But I need the request parameters in the address bar.</p>