Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   javascript _GET помогите решить вопрос, а то долго мучаюсь (https://javascript.ru/forum/misc/54456-javascript-_get-pomogite-reshit-vopros-dolgo-muchayus.html)

laimas 18.03.2015 23:50

Ну как решить... Я же не знаю что у вас там, но если надо запомнить выбор в сессии, то в скрипте принимающем этот выбор сохраните его значение в сессии. Но все остальные скрипты, которые используют это значение, должны при этом оперировать именно именно сессионным значением, а не GET параметром, иначе вся идея никуда не годится.

sidor84 19.03.2015 02:55

Ребят, в общем всем спасибо... натолкнули меня на правильные мысли, запоминалку сделал так:,

if (isset ($_POST['region_select'])) {$_SESSION['region'] = $_POST['region_select'];}

if (isset ($_SESSION['region'])) {$region_sel_option=$_SESSION['region'];}


Вывод в списке запоминается JQ (кароч вот весь код)

<div id="region_select">
<form id='element' method="post">
<select title="Всё работает, но эта функция в разработке!" name="region_select" onchange="document.getElementById('element').submi t();"> <!-- disabled="disabled" -->
<option value="0">Вся Украина:</option>
<? $region_select = get_region_select();
foreach ($region_select as $item):
$region_select = get_region_select();?>
<option name="nregion" value="<?=$item['id'];?>" id="region"><?=$item['region'];?></option>
<? endforeach;?>

</select>
<script>$("#element option[value='<?=$region_sel_option?>']").attr("selected", true);</script> <!-- JQ скрипт фиксирует выбранный элемент в списке регионов -->
</form>
</div>


... ну если чо, маленькая рекламка. это я делаю доску объявлений... если надо что то продать, продавайте только через меня))) http://infor.com.ua

laimas 19.03.2015 05:17

Уже все таки POST? Интересно кто вас на такое натолкнул? :)

Isset, конечно, он и в Африке isset, но если понимать, что делаем и при выключенном выводе предупреждений, можно и проще:

$_SESSION['region'] = ($n = (int)$_POST['region_select']) ? $n : 0; //именно приведенное к integer, а не просто $_POST['region_select']


А вот на это:

<script>$("#element option[value='<?=$region_sel_option?>']").attr("selected", true);</script> <!-- JQ скрипт фиксирует выбранный элемент в списке регионов -->

вряд ли бы кто-то вас здесь сподвиг, ибо это пустое занятие. Зачем же вы тогда запоминали выбор, если формируя на сервере список не определяете сразу в нем выбранную опцию?

<option name="nregion" value="<?=$item['id']?>" <?=$_SESSION['region']==$item['id'] ? 'selected' : null?>><?=$item['region']?></option>


а id="region" опциям совсем не нужен, тем более, что id должно быть уникальным. Закрывать одну строку кода точкой с запятой не обязательно.


Часовой пояс GMT +3, время: 23:31.