Изменить урл без перезагрузки страницы при выборе input type="radio"
Здравствуйте!
Есть список радиокнопок когда я нахожусь на странице /item/promote?id=15895&from=view. Надо при нажатие на кнопку переходить на тот же урл с приставкой ?check=id (в роли id у меня value), желательно без перезагрузки страницы... Как это можно реализовать? Спасибо! Пока сделал так, но страница перезагружается и не делается выбор... <input type="radio" onclick="window.location='/item/promote?id=15895&from=view?check=1'" name="svc" autocomplete="off" value="1" class="j-check"> <input type="radio" onclick="window.location='/item/promote?id=15895&from=view?check=2'" name="svc" autocomplete="off" value="2" class="j-check"> <input type="radio" onclick="window.location='/item/promote?id=15895&from=view?check=3'" name="svc" autocomplete="off" value="3" class="j-check"> |
<input type="radio" name="check" value="1" class="j-check"> <input type="radio" name="check" value="2" class="j-check"> <input type="radio" name="check" value="3" class="j-check"> <script> addEventListener("change", event => { const url = new URL(location); url.searchParams.set(event.target.name, event.target.value); history.replaceState(null, null, url); }); </script>Достаточно добавить этот скрипт только один раз! Обрабатывает изменения всех полей ввода, добавьте условие, если нужно только определённые поля. |
Цитата:
|
Цитата:
Крутое решение! Подскажите пожалуйста, а если в url уже стоит параметр "?" но скрыт через htacsess, как быть? Например: site.ru/catalog/iphone (на самом деле выглядит так: site.ru/catalog.php?url=iphone) И когда я выполняю ваш скрипт, получается так: site.ru/catalog/iphone?check=3 (на самом деле выглядит так: site.ru/catalog.php?url=iphone?check=3) Надо что бы второй "?" заменялся на "&" Как это можно реализовать? |
Не могу понять
Цитата:
Крутое решение! Подскажите пожалуйста, а если в url уже стоит параметр "?" но скрыт через htacsess, как быть? Например: site.ru/catalog/iphone (на самом деле выглядит так: site.ru/catalog.php?url=iphone) И когда я выполняю ваш скрипт, получается так: site.ru/catalog/iphone?check=3 (на самом деле выглядит так: site.ru/catalog.php?url=iphone?check=3) Надо что бы второй "?" заменялся на "&" Как это можно реализовать? |
nenado88,
как вариант заменить location на https://site.ru/catalog.php?url=iphone |
Часовой пояс GMT +3, время: 15:12. |