Главная » Файлы » Статьи для вебмастера » Статьи для вебмастера

Передача переменных в адресной строке
24.06.14, 09:39:53



Передача переменных в адресной строке осуществляется путём дописывания в адрес страницы необходимых нам переменных, например так: http://site.ru/?id=1&n=2
Наверняка многие видели подобное. Так вот сейчас я расскажу как этим воспользоваться и на своём сайте.

На самом деле всё очень просто. На странице где необходимо считывать переменные вставляем в любое удобное для вас место код:
Код
<script>  
  function GetParam(search, name){  

  name=name+"=";  
  var gp="";  
  if (search!='') {  
  if (search.indexOf (name, 0)!=-1){  
  var startpos=search.indexOf(name, 0)+name.length;  
  var endpos=search.indexOf("&",startpos);  
  if (endpos<startpos) {endpos=search.length;}  
  var gp=p.substring(startpos,endpos);  
  } else {  
  gp=""; }  
  }  
  else {  
  gp="";  
  }  
  return gp;  
  }  
  var p=window.location.search;  
  var gp=GetParam(p, "id");  
  if (gp=="1") {  
  // Тут ваши события, которые будут происходить если переменная в адресной строке будет равна 1.  
  }  
  </script>


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

Весь смак просчитывается тут вот в этом коде:
Код
var p=window.location.search;  
  var gp=GetParam(p, "id");  
  if (gp=="1") {  
  // Тут ваши события, которые будут происходить если переменная в адресной строке будет равна 1.
  }


Если вы хотите обработать вторую переменную например n то скопируйте его в скрипте чуть ниже и измените поиск переменной id на n, вот так:
Код
var p=window.location.search;  
  var gp=GetParam(p, "n");  
  if (gp=="1") {  
  // Тут ваши события, которые будут происходить если переменная в адресной строке будет равна 1.
  }

Значение переменных проверяется if'ом. Если ваша переменная может принимать несколько значений, то просто делаем несколько условий.
Код
var p=window.location.search;  
  var gp=GetParam(p, "n");  
  if (gp=="1") {  
  // Тут ваши события, которые будут происходить если переменная в адресной строке будет равна 1.
  }  
  if (gp=="2") {  
  // Тут ваши события, которые будут происходить если переменная в адресной строке будет равна 2.
  }


Строки
Код
var p=window.location.search;  
  var gp=GetParam(p, "n");

отвечают за поиск переменной, по этому нельзя перемешивать if условия, то есть обратились за поиском значения переменной n и далее описываем все нужные условия для переменной n, а потом уже можем обращаться за поиском переменной x и описывать её условия.

Ну и напоследок рабочий пример:
Код
<script>  
  function GetParam(search, name){  

  name=name+"=";  
  var gp="";  
  if (search!='') {  
  if (search.indexOf (name, 0)!=-1){  
  var startpos=search.indexOf(name, 0)+name.length;  
  var endpos=search.indexOf("&",startpos);  
  if (endpos<startpos) {endpos=search.length;}  
  var gp=p.substring(startpos,endpos);  
  } else {  
  gp=""; }  
  }  
  else {  
  gp="";  
  }  
  return gp;  
  }  
  var p=window.location.search;  
  var gp=GetParam(p, "id");  
  if (gp=="1") {  
  document.write('Переменная ID равна ' +gp);
  }  
  </script>


Удачи в сайтостроении smile
Категория: Статьи для вебмастера | Добавил: Apocalypse | Теги: адресной, переменных, передача, строке
Просмотров: 513 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email: