Допустим, мы находимся на странице (неважно какой) и у нас в адресной строке что-то вроде: https://site.com/app/backend.php?param1=abc¶m2=cde
На странице есть форма с <input name='param3'>
отправив которую вы должны попасть на эту же страницу, с первыми двумя параметрами + к ним должен приклеится третий. Т.е. в конечном итоге после отправки формы мы должны попасть на https://site.com/app/backend.php?param1=abc¶m2=cde¶m3=aaa
Мое решение:
<? $repeatRequest = http_build_query($_GET); ?>
<form class="form-inline" action="backend.php?<?=$repeatRequest?>" method="get">
<div class="form-group">
<label>Страница: </label>
<div class="input-group">
<input type="text" name="param3" class="form-control" size="2" value="<?=$_GET['offset']/20?>">
<span class="input-group-btn"><button class="btn btn-default" type="submit">перейти</button></span>
</div>
</div>
</form>
Но в конечном итоге мы попадаем на https://site.com/app/backend.php?param3=aaa
В чем беда и как это фиксить?
Как сказал выше, запилить костыль на JS оказалось проще. Есть input с button
<input id="page-number" type="text">
<button onclick="paginationManager()" type="button">перейти</button>
Когда юзверь меняет что-то в input и жмет на кнопку, то выполняется следующий скрипт:
function paginationManager(){
/*Получаем содержимое адресной строки*/
var location = window.location.toString();
/*Получаем значение, которое ввел пользователь*/
var page = document.getElementById("page-number").value;
/*Тут будет ссылка, по которой нас перенаправит*/
var link;
/*Если параметр page-number (тот самый доп параметр) уже есть, то изменяем его (\d) означает цифру. Иначе к текущим параметрам "клеим" дополнительный */
/*Это нужно, чтобы избегать повторений в адресной строке але &page-number=3&page-number=5*/
if (location.search(/page-number=\d/) != -1) {
location = location.replace(/page-number=\d/, "page-number=" + page);
link = location;
} else {
link = location + "&page-number=" + page;
}
/*Переадресация на сформированную ссылку*/
window.location.href = link;
}
Минус очевиден - отключен js - работать не будет. Буду рад увидеть здесь нормальное решение.
Какие существуют виды рекламных бордов и как выбрать подходящий?
Аренда удаленного сервера: цены, провайдеры и условия. Руководство для начинающих
Помогите расположить три блока в строку на всю ширину экрана, так, чтобы левый и правый имели фиксированную ширину, а средний адаптивно сжимался...
Можно ли добавить svg изображение на background страницыТак что бы можно было обратиться к нему с помощью js и изменить его viewport? Я новичек по этому...