222

I have been trying the following:

<form action="/home" class="inline">
    <button class="float-left submit-button" >Home</button>
</form>

It seems to work but it goes to the page "/home?"

Is there a better way for me to make a button inside a form make the page go to a new location?

Mathew Thompson
  • 55,877
  • 15
  • 127
  • 148
  • A form element can only take you to other pages within the same site. If you want to redirect to other websites, you need to use JavaScript's location.href or similar. – Adrian Wiik Dec 20 '19 at 13:43
  • $(location).prop('href', '/your_path'); – Saeid Jul 19 '22 at 16:50

5 Answers5

470

Just add an onclick event to the button:

<button onclick="location.href = 'www.yoursite.com';" id="myButton" class="float-left submit-button" >Home</button>

But you shouldn't really have it inline like that, instead, put it in a JS block and give the button an ID:

<button id="myButton" class="float-left submit-button" >Home</button>

<script type="text/javascript">
    document.getElementById("myButton").onclick = function () {
        location.href = "www.yoursite.com";
    };
</script>
Community
  • 1
  • 1
Mathew Thompson
  • 55,877
  • 15
  • 127
  • 148
63

try

<button onclick="window.location.href='b.php'">Click me</button>
Ehmad Imtiaz
  • 666
  • 5
  • 6
25

Use this:

 <button onclick="window.location='page_name.php';" value="click here" />

Basically you are using javascript snippet to redirect and onclick event of the button to trigger it.

Atharva Kadlag
  • 302
  • 3
  • 15
Veer Shrivastav
  • 5,434
  • 11
  • 53
  • 83
11

Just another variation:

    <body>
    <button name="redirect" onClick="redirect()">

    <script type="text/javascript">
    function redirect()
    {
    var url = "http://www.(url).com";
    window.location(url);
    }
    </script>
Ben Taylor
  • 173
  • 1
  • 5
5

you could do so:

<button onclick="location.href='page'">

you could change the action attribute of the form on click the button:

<button class="float-left submit-button" onclick='myFun()'>Home</button>

<script>
myFun(){
$('form').attr('action','new path');
}
</script>
Muhammad Bekette
  • 1,396
  • 1
  • 24
  • 60