Изменить урл без перезагрузки страницы при выборе 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, время: 06:13. |