2014-01-16 4 views
2

У меня есть программа php с двумя разными списками категорий. Я использую радиокнопки с javascript, чтобы позволить пользователю переключаться между двумя списками. По умолчанию используется первая кнопка, но если он нажимает вторую кнопку, он переключается во второй список и, если он нажимает первую кнопку, он может вернуться к первому списку.javascript передать значение на другую страницу

<input type="radio" name="catmfg" value="0" checked onclick="document.getElementById('mfg').style.display='none', document.getElementById('cat').style.display='block'" /><b>Browse Categories</b><br/> 
<input type="radio" name="catmfg" value="1" onclick="document.getElementById('cat').style.display='none', document.getElementById('mfg').style.display='block'" /><b>Browse Manufacturers</b><br/> 

Он отлично работает, но проблема в том, что этот список является навигация боковой панели на каждой странице и, так как «кошка» по умолчанию, если пользователь выбирает список «MFG» и нажимает на ссылку, чтобы перейти на детальную страницу он видит боковую панель «кот» на странице подробностей. Я хочу, чтобы он увидел тот же список, который он изначально выбрал на следующей странице, к которой он идет. Если он выбрал список «mfg», я хочу, чтобы он увидел этот список на странице подробностей. Есть ли способ сделать это в Javascript? (Надеюсь, не вдаваясь в печенье)

 

+0

Чисто на javascript? Только использование файлов cookie или локального хранилища. – MueR

+0

Является ли проблема jQuery проблемой? – gibberish

+1

Если вы не хотите использовать файлы cookie или локальное хранилище, вы можете отправить параметр в URL-адрес, например #listId, а затем, когда следующая страница загружает вы извлекает хеш-значение и запускает любое событие click этого идентификатора, тем самым выбирая любой список вы уже выбрали. –

ответ

0

Несмотря на ваше заявление, чтобы получить JS-решение, я надеюсь, вы не возражаете, я предлагаю вам с помощью PHP-сессии для этого:

It должен быть инициализирован в каждом затронутом PHP-файле командой

session_start() 

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

$_SESSION['param']['catmfg'] = $_POST['catmfg']; 

Позже вы помните ваше сохраненное значение с .: например

if(isset($_SESSION['param']['catmfg']) && !is_null($_SESSION['param']['catmfg]) 
{ 
<feed something with the value from $_SESSION['param']['catmfg'] here> 
} 

Я надеюсь, что это происходит в полезно для вас, как это также мой первый вопрос ответил здесь, на StackOverflow. :) Также помните, что это абсолютно без гарантии безопасности данных, поскольку данные $ _POST никогда не должны обрабатываться без сохранения.

Смежные вопросы