Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Восстановление нажатой закладки после перезагрузки страницы
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Восстановление нажатой закладки после перезагрузки страницы

Страниц (1): [1]
 

1. Татьяна_С - 17 Июля, 2008 - 10:23:04 - перейти к сообщению
Здравствуйте!
Есть такая проблема - есть туристический сайт, делаю там навигатор.. Форма сделана в виде закладок - в одной закладке поиск по турам, в другой - поиск по базам и т.д. И вот если ты выбрал вторую вкладку, выбрал там критерии поиска и нажал Поиск, то идет перезагрузка страницы, и мне надо, чтобы после перезагрузки в форме активной была вторая вкладка, т.е. та, из которой я нажимал поиск..
CODE (text):
скопировать код в буфер обмена
  1. <script language=JavaScript>
  2.  
  3.  marks = new Array ("mark1", "mark2", "mark3");
  4.  
  5.  function mark(num) {
  6.  
  7.   for ( i = 0; i < 3; i++ ) {
  8.  
  9.     document.getElementById(marks[i]).style.borderBottom = "1px solid #cecece";
  10.   }
  11.    
  12.   document.getElementById(marks[0]).style.zIndex = "9";
  13.   document.getElementById(marks[1]).style.zIndex = "10";
  14.   document.getElementById(marks[2]).style.zIndex = "8";
  15.   document.getElementById(marks[num]).style.borderBottom = "1px solid #FFF";
  16.   document.getElementById(marks[num]).style.zIndex = "12";
  17.   document.getElementById("cont").innerHTML = document.getElementById("texts["+num+"]").innerHTML;
  18.  
  19.  }
  20. </script>
  21.  
  22.  
  23.  
  24. <div class="smr-tabbox-m">
  25.  
  26.         <ul class="tabs-m">
  27.           <li class="m-first1a" id=mark1 onclick='mark(0)'><div class="m-ft1a">Туры</div></li>
  28.           <li class="m-middle1a" id=mark2 onclick='mark(1)'><div class="m-sd1a">Турбазы</div></li>
  29.           <li class="m-last1a" id=mark3 onclick='mark(2)'><div class="m-lt1a">Санатории</div></li>
  30.         </ul>
  31.  
  32. <div class="cont">
  33.  
  34.  <div class="cornertop"></div>
  35.  
  36.  <div class="content" id=cont>
  37.  
  38.  </div>
  39.   <div class="cornerbottom"></div>
  40.  
  41. <div id=texts[0] style='display: none'>
  42. <form action="index.php" method="POST">
  43.   ---  выбор параметров  ---
  44. <input type="hidden" name="vid" value="1">
  45. <input class="search" type="submit" name="search" value="Найти" />
  46. </form>
  47. </div>
  48.  
  49.  
  50. <div id=texts[1] style='display: none'>
  51. <form action="index.php" method="POST" >
  52.    ---  выбор параметров  ---
  53. <input type="hidden" name="vid" value="2">
  54. <input class="search" type="submit" name="search" value="Найти" />
  55. </form>
  56. </div>
  57.  
  58.  
  59. <div id=texts[2] style='display: none'>
  60. <form action="index.php" method="POST">
  61.    ---  выбор параметров  ---  
  62. <input type="hidden" name="vid" value="3">
  63. <input class="search" type="submit" name="search" value="Найти" />
  64. </form>
  65. </div>
  66.  
  67. </div>
  68.  
  69. <script language=JavaScript>
  70.  
  71.  document.getElementById("cont").innerHTML = document.getElementById("texts[0]").innerHTML;
  72.  
  73. </script>
  74.  
  75. </div>
  76.  
2. valenok - 17 Июля, 2008 - 12:38:12 - перейти к сообщению
В куки информацию об открытой вкладке и оттуда же их читать.
Нормальные браузеры ещё сами запоминают содержание форм, но если у тебя форма подгружается аяксом к примеру, то наверное она идёт без данных, и даже если браузер чтото запомнил, всё равно пустая форма заменит.
Так что параметры поиска тоже в куки.
3. Татьяна_С - 17 Июля, 2008 - 13:08:42 - перейти к сообщению
Куки!! Хороший вариант!! Хорошо еще, если он не будет отключен у пользователя..
А вот как их потом, после прочтения из куки, засунуть туда??
4. valenok - 17 Июля, 2008 - 13:27:18 - перейти к сообщению
Пользователь сам виноват что пользуется эксплорером, отключает куки и бегает кричит что это не безопасно.
Только кого именно засунуть в куки? document.cookie =
5. Татьяна_С - 17 Июля, 2008 - 13:52:51 - перейти к сообщению
я не могу разобраться куда после перезагрузки страницы вставлять то, что мы возмем из куков.. Как это вставить в яву чтобы тот понял, какую из вкладок автивировать.. Там идет активация вкладки через переменную num.. Пробовала даже присвоение этой переменной насильно присваивать значения, но все равно при перезагрузке первая вкладка оставется верхней.. И вот не могу понять какая переменная должна быть определена, и как, чтобы он поставил верхней нужную вкладку..
6. valenok - 17 Июля, 2008 - 15:15:09 - перейти к сообщению
Найдите то место где переключаются вкладки.
К примеру есть <div onclick='switchtab(this)'>
дальше включаете смекалку и решаете, что пожалуй нужно вызвать эту функцию
нам самим после загрузки страниц.
Пишем в body onload="switchtab(document.getElementById('tab'+num))"
и чтото получается.
или не получается..
7. Татьяна_С - 17 Июля, 2008 - 20:55:09 - перейти к сообщению
не получается Огорчение ....
(Добавление)
Сделала!!!!! Радость
Тупо поставила внизу проверку, что если вид отдыха менялся - т.е. если он есть в посте, то то, что было в функции, как и было правильно подмечено, выполняется сразу..

 

Powered by ExBB FM 1.0 RC1