Аналог массива GET на JavaScript
<script>
var url = "http://host/index.php?id=7&page=2&lang=ch#TheEnd"
var anchor = ""; // Эту строку не трогать
var GET = Array(); // Это пожалуй тоже
function parseGET(str){
str = str.split('?');
str = str[1];
if(str.indexOf('#')!=-1)
{
anchor = str.substr(str.indexOf('#')+1);
str = str.substr(0,str.indexOf('#'));
}
params = str.split('&');
for (i=0; i<params.length; i++)
{
var keyval = params[i].split('=');
GET[keyval[0]]=keyval[1];
}
return (GET);
};
GET = parseGET(url);
alert(GET['page']);
</script>
Автор не я.
Вот откуда брал: http://forum.php.su/topic.php?forum=46&topic=6
|
чтобы это сделать нужно проверить есть ли в массиве элемент с таким индексом. Просто URL может быть и без параметров.
АВТОР НЕ Я!!!!!
А зачем тогда все это?
Кстати, строку запроса для текущей страницы можно узнать через
location.search
, для ссылки —ссылка.search
.И данные не декодируются: "%20" так и останется "%20" и в пробел не превратится.
Нормально. Вопрос: а если мне надо в адресе вместо вопросительного знака использовать знак решётки? Тогда условие "if(str.indexOf('#')!=-1) " надо удалить?