Форум русской поддержки Joomla!® CMS
11.12.2016, 00:25:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Onclick (javascript) на пункт меню (index.php?Itemid=)

 (Прочитано 868 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ainar9
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« : 06.03.2015, 17:51:45 »

Всем привет!

Задание:
Есть <div> блок, который нужно сделать как ссылку.
Почитал много всего, и нашёл простой ответ, но возникла небольшая проблемка

Пример:

<a href="index.php?Itemid=218">Ссылка на скрытый пункт меню</a> - всё работает на ура, и ссылка отображается красиво. Но этим методом нельзя весь <div> сделать ссылкой
<div onclick="parent.location='index.php?Itemid=218'" style="cursor:pointer">сдесь картинки и текст</div> - этот вариант ссылается на отсутствие страницы (если полный путь указать, то всё работает, а если домен поменяется, предётся всё менять)

Помогите пожалуйста, как решить данную проблему.
Спасибо.


Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3595


« Ответ #1 : 06.03.2015, 18:57:06 »

Так пробовали?
Код
<div onclick="parent.location='<? echo JRoute::_('index.php?Itemid=218');?>'" style="cursor:pointer">сдесь картинки и текст</div>

P.S. Пропустил кавычки.
« Последнее редактирование: 06.03.2015, 23:45:28 от robert » Записан
ainar9
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #2 : 06.03.2015, 22:48:53 »

Так пробовали?
Код
parent.location=<? echo JRoute::_('index.php?Itemid=218');?>

Попробовал, но к сожалению нечего не получилось.
Я думал об JRoute, эта идея может быть и правильная, но onclick отказывается принимать этот формат.
Есть <div>, но по клику на нём нечего не происходит. Как то формат Неправильно указан.
Я с javascript вообще не знаком, только с помощью Google.

Попробую поискать, как правильно записать JRoute в Onclick
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3595


« Ответ #3 : 06.03.2015, 23:34:19 »

onclick отказывается принимать этот формат.
Попробую поискать, как правильно записать JRoute в Onclick
Неверно. JRoute всего лишь приводит ссылку в нужный вид, не более того. JS к нему не имеет никакого отношения. Скорее всего, баг у вас в другом месте. Ведь как обычно бывает: новичок думает, что нашел проблемный участок кода  и выкладывает именно его, потом уже общими усилиями уговаривают его (ТС) привести остальное.
« Последнее редактирование: 06.03.2015, 23:37:42 от robert » Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #4 : 06.03.2015, 23:55:42 »

Так вобще писать неверно! parent.location это родительский объект window в контексте объекта window. В ie контекст исполнения по умолчанию - это объект document. Поэтому это даже в ie не будет работать. Правильно написать так:

Код
<div onclick="window.location.href='...'"></div>
 

C JRoute должно работать но этот метод служит для формирования ЧПУ, там куча побочных методов исполняется. Лучше всего написать так:
Код
<div onclick="window.location.href='<?php echo JURI::root(). 'index.php?Itemid=218'; ?>'"></div>
« Последнее редактирование: 06.03.2015, 23:59:37 от zomby6888 » Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3595


« Ответ #5 : 07.03.2015, 16:12:30 »

parent.location
Может, ТС сидит в iframe? Хотя фиг его знает, не совсем понятно.

А на счет этого
onclick отказывается принимать этот формат.
Попробую поискать, как правильно записать JRoute в Onclick
сейчас набрал такой код
Показать текстовый блок
- все прекрасно работает.
« Последнее редактирование: 07.03.2015, 16:32:00 от robert » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet