When a visitor clicks a button element, how can I change the URL?
Example:
<form id="search">
<input type="text" />
<button onclick="javascript:alert('hi');">Alert Hi</button>
<button onclick="javascript:window.location.href='http://www.google.com/'">Go to Google</button>
</form>
For a quick demo page, I just need to send the visitor to a new URL when they click a button. I can execute JavaScript onclick (in the Alert Hi button), and the URL changes if I execute window.location.href='http://www.google.com/' from Firebug’s console. What do I need to do to change the URL on a button click?
The problem is that the form is being submitted when you click on the button. Add
type="button"so it doesn’t submit the form. You also don’t needjavascriptin theonclickattribute. See How to prevent buttons from submitting formsExample http://jsfiddle.net/E7UEe/1/ Notice that it won’t go to google.com because jsfiddle has disallowed it. Notice the error message
Refused to display document because display forbidden by X-Frame-Options.An alternative that works without JS is the
appearance:buttonCSS directive http://jsfiddle.net/d6gWA/Or you could always put the button in a link http://jsfiddle.net/d6gWA/2/