[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Изменить значение $_GET переменной
Oggy
Здравствуйте. У меня есть select при onchabge которого происходит редирект на туже страницу но с $_GET переменной. Я хочу проверить есть ли уже такая переменная в ссылке и если есть то заменить ее значение на новое(то что выбрано в select).


<select name="PageSize" onchange="selectRedirect(this);">
<
option value="9">9</option>
<
option value="15">15</option>
</
select>


<script type="text/javascript">
function selectRedirect(e) {
url = window.location.href;
if(url.indexOf('&') == -1) {
window.location.href = "?PageSize=" + e.value; // если такой переменной нету
}
if(url.indexOf('&') !== -1) {
// а вот тут у меня должен срабатывать код по замене значения если PageSize есть в ссылке. Помогите пожалуйста тут заменить существующее значение.
}
}

</script>
sergeiss
Цитата (Oggy @ 22.10.2017 - 22:50)
// а вот тут у меня должен срабатывать код по замене значения если PageSize есть в ссылке. Помогите пожалуйста тут заменить существующее значение.

Подсказываю.


// такое условие будет более правильным
if (window.location.search) {
// Сначала разбери на части имеющиеся данные
var parts = window.location.search.substr(1).split('&')

// затем пройди по массиву и сделай нужную замену
// это сам сделай :)

//ну и собери всё назад, уже с новыми данными

var search = parts.join('&');

//и используй эту строку...
}



_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Oggy
Цитата (sergeiss @ 22.10.2017 - 19:06)
Цитата (Oggy @ 22.10.2017 - 22:50)
// а вот тут у меня должен срабатывать код по замене значения если PageSize есть в ссылке. Помогите пожалуйста тут заменить существующее значение.

Подсказываю.


// такое условие будет более правильным
if (window.location.search) {
// Сначала разбери на части имеющиеся данные
var parts = window.location.search.substr(1).split('&')

// затем пройди по массиву и сделай нужную замену
// это сам сделай :)

//ну и собери всё назад, уже с новыми данными

var search = parts.join('&');

//и используй эту строку...
}

Обычно после ваших ответов уже никто не оставляет комментариев...почему так ?
AllesKlar
Цитата (Oggy @ 22.10.2017 - 21:43)
Обычно после ваших ответов уже никто не оставляет комментариев...почему так ?

А что там еще добавить можно?
Сказано кратко, по-делу и достаточно.

_____________
[продано копирайтерам]
killer8080
Цитата (Oggy @ 22.10.2017 - 22:50)
  if(url.indexOf('&') == -1) {
  window.location.href = "?PageSize=" + e.value; // если такой переменной нету
  }
  if(url.indexOf('&') !== -1) {
                      // а вот тут у меня должен срабатывать код по замене значения если PageSize есть в ссылке. Помогите пожалуйста тут заменить существующее значение.
  }

а что конструкцию else уже отменили? smile.gif
sergeiss
Oggy, сделал?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Oggy
Цитата (sergeiss @ 26.10.2017 - 07:37)
Oggy, сделал?

да. вот такой функцией:

function parse_url(url) {
var match = url.match(/^(http|https|ftp)?(?:[\:\/]*)([a-z0-9\.-]*)(?:\:([0-9]+))?(\/[^?#]*)?(?:\?([^#]*))?(?:#(.*))?$/i);
var ret = new Object();

ret['protocol'] = '';
ret['host'] = match[2];
ret['port'] = '';
ret['path'] = '';
ret['query'] = '';
ret['fragment'] = '';

if(match[1]){
ret['protocol'] = match[1];
}

if(match[3]){
ret['port'] = match[3];
}

if(match[4]){
ret['path'] = match[4];
}

if(match[5]){
ret['query'] = match[5];
}

if(match[6]){
ret['fragment'] = match[6];
}

return ret;
}

Спасибо за помощь.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.