0

My English is not good sorry,

I do not want to let one of the URLSearchParams change.

And when the URLSearchParams is changed, returne to the my input value.

URL address : example.com/action.php?id=1&name=john&penalty=365

<input name='penalty' value='365' hidden>
<script>
 $(document).ready(function() {
  const url = window.location.href;                     
  const paramspenalt = new URLSearchParams(url.split('?')[1]);
  var penaltyvar = $('input[name=penalty]').val();
  paramspenalt.set('penalty', penaltyvar);
  const resultpenalty = paramspenalt.toString();

  window.location = 'action.php?'+resultpenalty+'';

 });
</script>

Everything is fine with this code, But the page is constantly loading.

It is very good if the page is loaded only once.

ramin
  • 448
  • 4
  • 15
  • 1
    https://stackoverflow.com/questions/824349/how-do-i-modify-the-url-without-reloading-the-page – ksav Sep 22 '21 at 11:52
  • 1
    You are reloading the page without an if statement, so it will be perpetually reloading since you are setting `window.location` indiscriminately – Terry Sep 22 '21 at 12:24

1 Answers1

0

@ksav helping me and fixed my problem from How do I modify the URL without reloading the page? :

<input name='penalty' value='365' hidden>
<script>
 $(document).ready(function() {
    const url = window.location.href;                     
    const paramspenalt = new URLSearchParams(url.split('?')[1]);
    var penaltyvar = $('input[name=penalty]').val();
    paramspenalt.set('penalty', penaltyvar);
    const resultpenalty = paramspenalt.toString();
    //****
    window.history.pushState("object or string", "Title", 'action.php?'+resultpenalty+'');
    //****
});
</script>
ramin
  • 448
  • 4
  • 15