0

I was trying to press a button to reload the page but it doesn't work and I don't know why

I'm using handlebars, so in theory all this code down here is inside a <body>

It sends the "POST" and everything okay, the only thing that does not run is the script

As a little relevant information, I am using Bootstrap 5.

<script>
const reload = document.getElementById('reload');

reload.addEventListener('click', _ => { 
    window.location.reload();
});
</script>

<div class="Things with little reference">

. . .

   <form action="/dashboard/" method="POST">
      <div class="form-group">
         <button id="reload" class="btn btn-success">ye!</button>
      </div>
   </form>

3 Answers3

1

The default type of button is "submit" which will submit the form.

for this case, you should change the button type to "button" or use preventDefault to stop the default behavior of the button clicked.

change the button type to "button"

  <button type="button" id="reload" class="btn btn-success">ye!</button>

or use preventDefault

reload.addEventListener('click', e => { 
    e.preventDefault()
    window.location.reload();
});

yuchang
  • 86
  • 2
  • When I set the `type="button"` nothing happens when I click, if I don't set the type at least it sends the **POST** but it doesn't refresh I have also tried other things like varying the _script_ but nothing worked –  Dec 30 '21 at 03:03
0

Instead of using JS you can directly specify it in button.

<button onClick="window.location.reload();" class="btn btn-success" >ye!</button>
lakshna S
  • 255
  • 1
  • 5
0

After submiting the form You can call the method for reloading from onSubmit event.

<button type="button" onClick="onSubmit()">Close</button>
<script>
function refreshPage(){
    window.location.reload();
} 
onSubmit()
{
   /*Here you can add your code for submit event*/
   this.refreshPage();
}
</script>