Select Есть решение

Как правильно вставить выпадающий список на сайт?

Добавлял блоком:

<form name="menu">
<select name="sel" onchange="linklist(document.menu.sel)">
<option title="Санкт-Петербург" value="http://shop.elbaspb.ru/">Санкт-Петербург</option>
<option title="Москва" value="http://www.e-mebel.ru/">Москва</option>
<option title="Нижний Новгород" value="http://nn.elbamebel.com/">Нижний Новгород</option>
<option title="Екатеринбург" value="http://ekt.elbamebel.com/">Екатеринбург</option>
<option title="Новосибирск" value="http://nsk.elbamebel.com/">Новосибирск</option>
<option title="Ростов-на-Дону" value="http://rst.elbamebel.com/">Ростов-на-Дону</option>
<option title="Воронеж" value="http://vrn.elbamebel.com/">Воронеж</option>
</select>
</form>
{literal}
<script language="JavaScript" type="text/javascript">
function linklist(what){
var selectedopt=what.options[what.selectedIndex]
if (document.getElementById && selectedopt.getAttribute("target")=="new")
window.open(selectedopt.value)
else
window.location=selectedopt.value
}
</script>
{/literal}

А на сайте уже как: {$wa->block("sites")}

Перехода не происходит.

Пробовал код вставлять в настройках: "Дополнительный JavaScript-код для вставки перед закрывающим тегом </head>", тоже не помогает.

6 ответов

  • 1
    Михаил Ушенин 15 мая 2014 10:10 #
    В настройках сайта вставлять это не нужно, работать не будет. Только в блоке Сайта или прямо в коде страницы.
    У меня ваш код работает. Возможно, у вас на страницах сайта возникает ошибка какого-то другого фрагмента JavaScript-кода, из-за чего до выполнения данного фрагмента кода дело просто не доходит. Наличие таких ошибок можно проверить в консли ошибок браузера.
    • +2
      Сергей Сергей 22 мая 2014 04:02 #
      Вижу только одну явную ошибку:

      Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://mc.yandex.ru/webvisor/3832660?rn=554022397&page-url=http%3A%2F%2Fwww.elbamebel.com%2F&wmode=0&wv-type=0&wv-hit=937247343&wv-part=1&wv-check=40817&browser-info=z%3A240%3Ai%3A20140522120105%3Arqnl%3A1%3Ast%3A1400745666. Это может быть исправлено путем перемещения ресурса в тот же домен или включением CORS.

      Но как её исправить не представляю.
      • +1
        Михаил Ушенин Михаил Ушенин 22 мая 2014 04:14 #
        Возможно, связано с тем, что на сайте подключен вот этот скрипт: https://metrika.yandex.ru/promo/webvisor/
        • +2
          Сергей Сергей 22 мая 2014 06:07 #
          При отключении счётчика метрики данный код всё равно не работает. Проверял на тестовом домене - там всё нормально. И ошибка эта при отключении счётчика - не исчезает.
          • +1
            Михаил Ушенин Михаил Ушенин 22 мая 2014 06:14 #
            <select name="sel" onchange="linklist(document.menu.sel)">

            замените на

            <select name="sel" onchange="linklist(this)">
  • 2
    Сергей 19 сентября 2014 07:51 # Решение
    В общем сделал так:

    <form id="myform">
    <select id="mymenu" onchange = "window.location=document.forms[0].mymenu.options[document.forms[0].mymenu.selectedIndex].value" />
    <option title="Санкт-Петербург" value="http://shop.elbaspb.ru/">Санкт-Петербург</option>
    <option title="Москва" value="http://www.e-mebel.ru/">Москва</option>
    <option title="Нижний Новгород" value="http://www.elbamebel.com/nn">Нижний Новгород</option>
    <option title="Екатеринбург" value="http://www.elbamebel.com/ekt">Екатеринбург</option>
    <option title="Новосибирск" value="http://www.elbamebel.com/nsk">Новосибирск</option>
    <option title="Ростов-на-Дону" value="http://www.elbamebel.com/rst">Ростов-на-Дону</option>
    <option title="Воронеж" value="http://www.elbamebel.com/vrn">Воронеж</option>
    </select>
    </form>

Эта тема в архиве. Добавление комментариев к ней отключено.