Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.09.2014, 00:18
Новичок на форуме
Отправить личное сообщение для test_koder Посмотреть профиль Найти все сообщения от test_koder
 
Регистрация: 11.09.2014
Сообщений: 1

Удаление параметра из URL
Всем привет.
Помогите новичку пожалуйста
Есть функция которая при клике добавляет get параметр
function setAttr(prmName,val){
    var res = '';
	var d = location.href.split("#")[0].split("?");  
	var base = d[0];
	var query = d[1];
	if(query) {
		var params = query.split("&");  
		for(var i = 0; i < params.length; i++) {  
			var keyval = params[i].split("=");  
			if(keyval[0] != prmName) {  
				res += params[i] + '&';
			}
		}
	}
	res += prmName + '=' + val;
	window.location.href = base + '?' + res;
	return false;
}


<a href="#" onclick="return delAttr('parametr','value')">Test</a>

Кликаем и к адресу добавляется нужный get параметр.

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

Очень нужно
Ответить с цитированием
  #2 (permalink)  
Старый 12.09.2014, 08:46
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от test_koder
если такой параметр в адресе имеется, то он его уберет из урла
Как вариант...

var url='site.ru?prm1=1&prm2=2&prm3=3';
alert(delPrm(url,'prm1'));
alert(delPrm(url,'prm2'));
alert(delPrm(url,'prm3'));

function delPrm(Url,Prm) {
	var a=Url.split('?');
	var re = new RegExp('(\\?|&)'+Prm+'=[^&]+','g');
	Url=('?'+a[1]).replace(re,'');
	Url=Url.replace(/^&|\?/,'');
	var dlm=(Url=='')? '': '?';
	return a[0]+dlm+Url;
};
Ответить с цитированием
  #3 (permalink)  
Старый 01.07.2015, 19:43
Новичок на форуме
Отправить личное сообщение для islyaeFF Посмотреть профиль Найти все сообщения от islyaeFF
 
Регистрация: 01.07.2015
Сообщений: 1

function delAttr_rcl(prmName,val){
        var res = '';
        var d = location.href.split("#")[0].split("?");  
        var base = d[0];
        var query = d[1];
        if(query) {
                var params = query.split("&");  
                for(var i = 0; i < params.length; i++) {  
                        var keyval = params[i].split("=");  
                        if(keyval[0] !== prmName) {  
                                res += params[i];
                        }
                }
        }
        
        return base + '?' + res;
}

Отличие небольшое! Просто на выводе не добавляем амперсанд и параметр этот со значением и всё

Последний раз редактировалось islyaeFF, 01.07.2015 в 19:48.
Ответить с цитированием
  #4 (permalink)  
Старый 03.07.2015, 18:27
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Все советы безыдейные, вот классовый

Где взять годный объект параметров урла
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен Java Script (из URL в форму) AntonR Работа 2 11.10.2013 12:18
Не появляются картинки через jquery lobanov_kirill_ jQuery 1 22.09.2012 20:05
Помогите разделить URL адрес на составляющие части. Vitia28 Общие вопросы Javascript 5 09.05.2012 19:18
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 21:11
переход на выбор сайт через поле ввода url (как убрать функцию "открыть все") ? rashid86 Элементы интерфейса 1 31.03.2011 14:54