Показать сообщение отдельно
  #8 (permalink)  
Старый 04.12.2014, 14:02
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

А, так вот оно как, надо было экранировать только спец-вопрос. Я так делал, ну, по аналогии, есть у меня похожие варианты в кодах, но забил и амперсанд обратным слешем и ничего не менялось. Ну то есть я делал похоже. Это одуреть можно всматриваться в эти черточки и буквочки, ну ладно, запишу и это на всякий случай.

Функция получилась все равно уродской.

table.addEventListener("click",function(e){
	var row=e.target.parentNode;
	if(!row.parentNode.nodeName.match(/tbody/i)) { // эта рега была давно
		e.preventDefault();
		return false;
	}
	var id=row.id.replace(/\D/g,\'\'); // эту регу я тоже надыбал
	if(location.search.length<2)
		location.assign(location.href+\'?id=\'+id);
	else if(location.search.match(/(\W)(id=)\d+/))
		location.assign(location.href.replace(/(\W)(id=)\d+/,\'$1$2\'+id))
	else
		location.assign(location.href+\'&id=\'+id)
});


Потому что получается что search может не быть - бНОПНЯ (то есть ?), search может быть и там может не быть id, search может быть и там может быть id. Блеать! На php я написал класс Get с ладонь размером, который генерит что хочешь get->id(31)->pid(999)->on('dd')->article(null)->page(2) // и все это можно прямо в строку воткнуть, __toString() выведет нормальный урл. Вызов типа article(null) это значит надо убить такой аргумент в урле.

Ну вот, неужели думаю придется разбирать эту хрень на js, ну понятно что в принципе там ничего сложного, но опять эти циклы, сбор-разбор и все ради одного id.
Ответить с цитированием