У меня есть следующий HTML-код:
<select name="forma">
<option value="Home">Home</option>
<option value="Contact">Contact</option>
<option value="Sitemap">Sitemap</option>
</select>
Как я могу сделать Домой, Контакт и значения Карты сайта как ссылки? Я использовал следующий код и поскольку я ожидал, что он не работал:
<select name="forma">
<option value="Home"><a href="home.php">Home</a></option>
<option value="Contact"><a href="contact.php">Contact</a></option>
<option value="Sitemap"><a href="sitemap.php">Sitemap</a></option>
</select>
<select name="forma" onchange="location = this.value;">
<option value="Home.php">Home</option>
<option value="Contact.php">Contact</option>
<option value="Sitemap.php">Sitemap</option>
</select>
UPDATE (ноябрь 2015): В наше время и в нашем возрасте, если вы хотите иметь выпадающее меню, есть много, пожалуй, лучших способов реализовать один. Этот ответ является прямым ответом на прямой вопрос, но я не поддерживаю этот метод для сайтов с публичной ориентацией.
. Тэг
создает выпадающий список. Вы не можете поместить html ссылки внутри выпадающего списка.
Однако существуют JavaScript-библиотеки, которые обеспечивают подобную функциональность. Вот один пример: http://www.dynamicdrive.com/dynamicindex1/dropmenuindex.htm
Вы не можете использовать href-теги с опциональными тегами. Для этого вам понадобится javascript.
<select name="formal" onchange="javascript:handleSelect(this)">
<option value="home">Home</option>
<option value="contact">Contact</option>
</select>
<script type="text/javascript">
function handleSelect(elm)
{
window.location = elm.value+".php";
}
</script>
Используйте вместо этого настоящее раскрывающееся меню: список ( ul
, li
) и ссылки. Никогда не используйте элементы формы в качестве ссылок.
Читатели с программами чтения с экрана обычно просматривают автоматически созданный список ссылок - они упускают эту важную информацию. Многие системы навигации с помощью клавиатуры (например, JAWS, Opera) предлагают различные сочетания клавиш для ссылок и элементов формы.
Если вы все еще не можете отказаться от идеи select
, по крайней мере, не используйте обработчик onchange
. Это настоящая боль для пользователей клавиатуры, это делает ваш третий элемент почти недоступным.