javascript _GET помогите решить вопрос, а то долго мучаюсь
:help: :help:
ну кароч постараюсь подробно описать суть вопроса. на сайте есть выбор региона (города страны). Это реализовано через select >> option В Option данные подтягиваются из БД при выборе конкретного города, его ID передается в GET . Передается следующим js кодом: onchange = "document.getElementById('element').submit();" после выбора получается: http://infor.com.ua/index.php?region_select=2 Жирным-подчеркнутым выделил то что передалось при выборе региона. И все прекрасно работает. НО... Если пользователь переходит на другую страницу сайта, где уже есть в GET другие элементы пример(http://infor.com.ua/objav_parent.php..._select=2&id=3) ТО на этой странице, при выборе региона? сбивается id, и остается только переданые данные. получается вот как: http://infor.com.ua/objav_parent.php?region_select=30 а хотелось бы получить просто изменение region_select региона http://infor.com.ua/objav_parent.php...select=30&id=3 Можете помочь кто нибудь, ну или хотя бы в какую сторону двигаться, а то я уже аш запарился мудрить с этим функционалом! :help: :cray: :help: :cray: |
Если get-параметры в url подставляется клиентский сценарий, то делать он должен как раз не так, как выделено жирным, а добавлять их с учетом существующих или нет других параметров. Вот и двигайтесь в то место, где эта операция производится.
|
Добавь форме атрибут method="post".
Цитата:
|
В курсе конечно. Я ошибку допустил, думая о сервере, написал о клиенте. А я так и понял, что так и есть - post с get в action, но теряют на сервере пришедшие параметры, и надо было бы http_build_query().
Но наверно да, не так понял. |
ну post мне тут ваще не подойдет, с гетом как то попроще будет. Я думаю может в идеале в сессию записать данные выбранные по региону!?, если да, подскажите плз, как это сделать. ... причем, опять же, в сессию добавить данные не затирая существующие в ней другие данные. есть какие-то мысли?
|
Я вот зациклился на ID и id, отбросив в сторону то, что первое, это имелось ввиду ID значения, и совсем не то представил.
Можно и в сессию записать, но это ведь тоже означает изменение логики работы в скрипте, так почему не заменить обработку GET на POST, который ничем не сложнее первого. Если же ничего не переделывать, то передавайте этот "теряющийся" id между страницами в скрытом поле формы. |
так не пойдет. пользователь не будет постоянно, на каждой странице использовать эту форму, поэтому по Вашей логике, постом можно отправить в переменную. но как мне зафиксировать выбранное значение на все время пользования(пока из формы опять незахочет поменять). ибо пользователь может ходить по сайту используя разные ссылки, а мне, ваще не вариант, прописывать в каждую ссылку данные из переменной полученных от первого POSTa.
конечно, как мне кажется, идеальным вариантом был бы вариант с get, а еще лучше передать в сессию. подскажите как в сессию передать? |
+ забыл уточнить, при каждом же переходе, данные формы устанавливаются на region_select=0 . ну типа поле по умолчанию "выбрать регион:" . и соответственно в переменной выбраный region_select перезаписывается на 0 ...
|
Это не моя логика, моя логика дала сбой сразу, потому как ваш пост почему-то здесь, а причем тут JS, если надо что-то запомнить?
У вас же проблема была в том, что теряется, не подходит POST, значит скрытым полем в GET. А запомнить на сервере, это значит проверить: if($_SESSION['keyname']) { //что-то делаем, если есть в сессии ключ //или есть и не равен 0, хотя смысла запомнить 0 нет } JS для этого совсем не нужен. |
JS использую для того чтобы при выборе региона, срабатывал submit без физического нажатия на кнопку. если это можно как то решить посредством PHP, напишите пжлста как это сделать... и действительно вопрос решен будет. по скольку яваскриптом отправляется только select_region(id-его)
|
Часовой пояс GMT +3, время: 17:34. |