| 
	| 
	
	| 
		
	| 
			
			 
			
				09.09.2016, 08:19
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 06.05.2016 
						Сообщений: 41
					 
		
 |  |  
	| 
				Активная ссылка
			 Всем привет 
Возник такой вопроc, почему при переходе через get, в данном случае t.php?action=***, ссылка становится не кликабельной а через js наоборот, вроде и без разницы, передается же get запрос, а вот сам линк без изменений
 
function Awards_Class_STE(action) {
	var obj=this;
	obj.div_id='#awards_list';
	obj.ste_loading=function (view) {
	if (view) $('#report_load').html(" :: <font color=black><b>[Загрузка...]</b></font>");
	else $('#report_load').html('');}
	obj.view=function (action) {obj.ste_loading(1);
	jQuery.get('t.php',{'action':action},
	function(response){$(obj.div_id).html(response); obj.ste_loading(0);},'html');}
}
var <?=STE_AW_JS?>=new Awards_Class_STE();
echo"".($_GET["action"]=="add"?"Добавить":"<a href=\"javascript:Awards.view('add')\">Добавить</a>")."";
echo"".($_GET["action"]=="awards" || !$_GET["action"]?"Список":"<a href=\"javascript:Awards.view('awards')\">Список</a>")."";
echo "<div id=\"awards_list\">\n";
$this->xml_template();
echo "</div>\n";
Спасибо за помощь			 Последний раз редактировалось DarknesS, 09.09.2016 в 08:24.
 |  |  
	| 
		
	| 
			
			 
			
				09.09.2016, 17:02
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| 
	
 
	| Сообщение от DarknesS |  
	| echo"".($_GET["action"]=="add"?"Добавить":"<a href=\"javascript:Awards.view('add')\">Добав  ть</a>").""; |  
	
 Зачем выводить пустые строки в начале и конце строки?
 
РНР по разному обрабатывает строки в одинарных и двойных кавычках. Если строка в двойных кавычках, то парсер будет ее анализировать на наличие в ней например переменных. У вас их нет, а значит вы зря нагружаете парсер. 
 
'<a href="javascript:Awards.view(\'add\')">Добавить</a>'
 
Но странная логика вывода:
 
если равно add вывести текст "Добавить", иначе ссылка с этим же текстом 
а если равно awards то  текст "Список", иначе ссылка с этим же текстом.
 
Логику этого можно пояснить? |  |  
	| 
		
	| 
			
			 
			
				09.09.2016, 18:49
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 06.05.2016 
						Сообщений: 41
					 
		
 |  |  
	| 
	
 
	| Цитата: |  
	| если равно add вывести текст "Добавить", иначе ссылка с этим же текстом а если равно awards то текст "Список", иначе ссылка с этим же текстом.
 |  
	
 Да так и есть, если равно add, то ссылка перестает быть ссылкой, - только текст. 
 
Суть проблемы в том, что после клика он не становится текстом, как будто get запроса и не было, хотя внутри див все нормально |  |  
	| 
		
	| 
			
			 
			
				09.09.2016, 19:09
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| 
	
 
	| Сообщение от DarknesS |  
	| Да так и есть, если равно add, то ссылка перестает быть ссылкой, - только текст. |  
	
 И проку от этого текста? Если ссылки по условию не должно быть, значит вообще ничего не должно быть.  Хотя ссылка с псевдопротоколм javascript, это бомба, что щелкать по другому элементу кроме А нельзя? Что за мода.
 
У вас судя по коду в зависимости от условию выполнения условия должна быть одна кнопка либо Добавить, либо Список. А если в запросе нет параметра "action", тогда нужна только кнопка Добавить?
 
Если так, то 
 
echo !$_GET["action"] || $_GET["action"]=='awards' ? '<a onclick="Awards.view(\'add\')">Добавить</a>' 
                                                   : '<a onclick="Awards.view(\'awards\')">Список</a>';
 |  |  
	| 
		
	| 
			
			 
			
				09.09.2016, 20:45
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 06.05.2016 
						Сообщений: 41
					 
		
 |  |  
	| Имеется виду при переходе по get запросу. ccылка должна заменяться простым текстом 
Если  $_GET["action"]=='awards' , то вместо onclick будет заменено простым текстом Список. если мы находимся на другой странице, например в t.php?action=add. то ссылка есть
 
echo !$_GET["action"] || $_GET["action"]=='awards' ? 'Список': '<a onclick="awards.view(\'awards\')">Список</a>';
echo $_GET["action"]=='add' ? 'Добавить' : '<a href="#" onclick="awards.view(\'add\')">Добавить</a>';
 
Даже при переходе на add ссылка в add также и остается кликабельной, хоть мы и перешли по ней |  |  
	| 
		
	| 
			
			 
			
				09.09.2016, 20:55
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| Я ваш пользователь и могу жмахать на кнопки вашего сайта. Вопрос - нахрена мне нужен текст, который не несет никакого функционала?Еще можно понять кнопку "Нажмите", текст которой будет изменен на "Нажато". То есть пользователь информирован о результате своего действия. А о чем говорят сообщения "Добавить" и "Список", которые "мертвы"?
 
 Даже при переходе на add ссылка в add также и остается кликабельной, хоть мы и перешли по ней
 
 Вы применяете тернарный оператор, а значит понимаете логику его. Я описал все ваше (в том представлении как я понимаю) одним выражением:
 
 echo !$_GET["action"] || $_GET["action"]=='awards' ? '<a onclick="Awards.view(\'add\')">Добавить</a>'
 : '<a onclick="Awards.view(\'awards\')">Список</a>';
 
 зачем вы к нему прицепили еще и
 
 echo $_GET["action"]=='add' ? 'Добавить' : '<a href="#" onclick="awards.view(\'add\')">Добавить</a>';
 
 ?
 |  |  
	| 
		
	| 
			
			 
			
				09.09.2016, 21:04
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 06.05.2016 
						Сообщений: 41
					 
		
 |  |  
	| пример этого, суть таже, только модуль другой, скрин сделал с одного сайта, типа того и сам хотел сделать   
Пользователь перешел по ссылке "у кого больше казнеток", ссылка становится не активной и окрашивается в черный цвет, дабы было виднее сразу какая ссылка активна, другие же не активные. если пользователь перейдет по ним, также ссылка кликабельная станет тем же как и по казнеткам |  |  
	| 
		
	| 
			
			 
			
				09.09.2016, 21:11
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| 
	
 
	| Сообщение от DarknesS |  
	| пример этого, суть таже, только модуль другой, скрин сделал с одного сайта |  
	
 Ну здрасьте    У вас по сути две кнопки, а в примере, это список ссылок, и тут все логично. Так же например делают и в меню - активный пункт его уже не ссылка.
 
В примере, это информация, а у вас одна из кнопок, это действие - Добавить. Хотите сказать, что просто текст Добавить, это информативно?
 
Может и на любителя это ваше представление кнопок, я не настаиваю, я просто не вижу в этом никакой логики.
 
PS. Ваша логика была бы понятна, если бы вместо ссылок были кнопки BUTTON, где неактивная была бы недоступна - disabled. Вот тогда бы было информативно. А вот текст хрен знает для чего, этого я не понимаю.			 Последний раз редактировалось laimas, 09.09.2016 в 21:20.
 |  |  
	| 
		
	| 
			
			 
			
				09.09.2016, 21:23
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 06.05.2016 
						Сообщений: 41
					 
		
 |  |  
	| Добавить и список это просто тестовой текст. Текст будет другим и ссылок тоже где то 10-20
 Будет модуль подарков.
 Простые, для мужчин, для женщин, праздничные и прочее
 
 И вот при переходе к активной ссылке ссылка должна становится активным текстом, как и на скрине, вот здесь и не выходит почему при клике ссылка не становится активной
 
 вот часть действующего кода:
 
 ".($_GET["action"]=="simple"?"Простые подарки":"<a href="#" onclick="Gifts.view(\'simple\')">Простые подарки</a>")."
 |  |  
	| 
		
	| 
			
			 
			
				09.09.2016, 21:34
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| Ну если список из N... и как на картинке, и определяется ключом $_GET["action"] равным "simple", то что значит кнопки Добавить/Список?
 Может словами описать что должно быть, что означают кнопки, их режим, и т.д.? Я теперь вообще ничего не понимаю чего надо то.
 |  |  |  |