Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   передача информации о нажатой кнопке (https://javascript.ru/forum/misc/39681-peredacha-informacii-o-nazhatojj-knopke.html)

feniks7 08.07.2013 10:53

передача информации о нажатой кнопке
 
Здравствуйте, я в js практически ничего не смыслю, но надо решить задачу: на главной странице сайта нажимается одна из двух кнопок. И мы переходим на другую страницу. На второй странице 2 блока, и в зависимости от того какая кнопка была нажата, эти блоки встают по порядку. С перемещением блоков проблем нет, а вот как отследить нажатую кнопку никак не пойму...

ruslan_mart 08.07.2013 11:21

Много способов:

1. Передавать якорь:.
<a href="/page.php#button1">Кнопка 1</a>
<a href="/page.php#button2">Кнопка 2</a>

page.php:
var hash = window.document.location.hash.substr(1);
if(hash == 'button1')
{
   ...
}
else if(hash == 'button2')
{
   ...
}


2. Передавать GET:
<a href="/page.php?button=1">Кнопка 1</a>
<a href="/page.php?button=2">Кнопка 2</a>

page.php:
var button = '<?=htmlspacialchars($_GET['button'])?>';
if(button == 1)
{
   ...
}
else if(button == 2)
{
   ...
}


3. Записывать id кнопки в cookie, а на самой странице получать его. Но способ не очень хороший.

4. Записывать id кнопки в localStorage (в старых браузерах не будет работать):
<a href="/page.php" onclick="localStorage.setItem('button', 1);">Кнопка 1</a>
<a href="/page.php" onclick="localStorage.setItem('button', 2);">Кнопка 2</a>

page.php:
var button = localStorage.getItem('button');
if(button == 1)
{
   ...
}
else if(button == 2)
{
   ...
}


5. Записывать в сессию.
Отправлять id кнопки ajax'ом на сервер. Потом на странице получать с помощью $_SESSION['button'], но способ тоже не очень хороший.


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