получить окно window.location.hash в php - PullRequest
0 голосов
/ 24 мая 2009

Я использую jquery интерфейс с вкладками здесь http://www.imashdigital.com/#2 и хотел бы вернуть номер вкладки в php.

В идеале я хотел бы запустить функцию javascript (по таймеру), которая постоянно обновляет глобальную переменную php с текущей вкладкой.

На основании этого значения php, с 1 по 4, я загружу другую боковую панель.

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

С уважением

Jonathan

Ответы [ 3 ]

2 голосов
/ 24 мая 2009

Часть URI, которая идет после хэша, никогда не отправляется на сервер. PHP никак не может получить к нему доступ. Вместо этого используйте параметр строки запроса ($_GET). Или используйте сценарии на стороне клиента (javascript).

1 голос
/ 24 мая 2009

Я бы посоветовал вам не запускать таймер, а вместо этого присоединить $ .post к событию «Активация вкладки». Это приведет к тому, что любое изменение вкладки будет применено в режиме реального времени, и не вызовет ненужных запросов.

0 голосов
/ 26 мая 2009

Я использовал панели с вкладками в нескольких недавних проектах, и я использовал следующее решение:

HTML

<ul class="tabs">
  <li><a href="#en_en">English</a></li>
  <li><a href="#fr_fr">Français</a></li>
</ul>
<div class="panel" id="en_en"><!-- Content --></div>
<div class="panel" id="fr_fr"><!-- Content --></div>

JQuery

// the currently selected tab, or a default tab (don't forget to prepend the #)
var tab = location.hash || '#en_en';

// register a click handler on all the tabs
$('ul.tabs a').click(function(event){
    event.preventDefault(); // prevents the browser from scrolling to the anchor

    // hide all panels, then use the link's href attribute to find 
    // the matching panel, and make it visible
    // you can, of course, use whatever animation you like
    $('div.panel').hide().filter(  $(this).attr('href')  ).show();

).filter('[href*='+tab+']').click();
// above: in case of refreshing/bookmarking: find the tab link that contains
// the current location.hash, and fire its click handler

Он работает хорошо, потому что серверному коду не нужно знать, какая вкладка выбрана, но он также поддерживает обновление или добавление в закладки конкретной вкладки, не требуя от пользователя повторного выбора вкладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...