Mi inglés no es bueno lo siento,
No quiero permitir que uno de los URLSearchParams cambie.
Y cuando se cambie URLSearchParams, vuelva a mi valor de entrada.
Dirección URL: ejemplo.com/acción.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>Todo está bien con este código, pero la página se carga constantemente.
Es muy bueno si la página se carga solo una vez.
@ksav me ayudó y solucionó mi problema de ¿Cómo modifico la URL sin recargar la página? :
<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>