Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Список выбора (https://javascript.ru/forum/dom-window/30862-spisok-vybora.html)

хСлавах 18.08.2012 13:11

Список выбора
 
Доброго времени суток. Я только начинаю постигать азы javascript и у меня есть к вам такой вопрос. Я решил попробовать написать страничку, состоящую из трех фреймов. В одном из фреймов у меня определен список выбора. Я хочу, чтобы при выборе одного из вариантов списка выбора и нажитии кнопки перейти, в соседнем фрейме появлялась страничка, описанная в option value. Пока удалось только реализовать открытие нужной страницы в текущем фрейме либо в новом окне. Привожу код фрейма, в котором находится список.

<html>
<head>

</head>

<body>
<p> Hello world </p>

<script language="JavaScript" type="text/javascript">
<!--
function gotolink(what){
var selectedopt=what.options[what.selectedIndex]
if (document.getElementById && selectedopt.getAttribute("target")=="newwin")
window.open(selectedopt.value)
else
window.location=selectedopt.value
}
-->
</script>
<form name="gogogo" STYLE='display: inline;'>
<select name="select">
<option value="#">Выберите сайт...</option>
<option value="http://msn.com">опция1</option>
<option value="faq1.htm" target="faq">опция2</option>
<option value="faq2.htm" target="faq">опция3</option></select>
<input type="button" value="Перейти" onClick="gotolink(document.gogogo.select)">
</form>

</body>

</html>

Deff 18.08.2012 13:22

хСлавах,
Проще наверно на формах - в action формы - засовываете ссылку куда перейти, в target - имя фрейма с открываемой страницей

http://htmlbook.ru/html/form см target

хСлавах 18.08.2012 13:38

С этим вариантом я уже ознакомился. Проблема в том, что на каждый из вариантов раскрывающегося списка привязана своя страничка. Поэтому использования javascript неизбежно. Но все равно спасибо

Deff 18.08.2012 13:41

хСлавах,
Дык ява скриптом и меняете в форме: имя подгружаемого фрейма в target и адрес страницы в Action
забирая их по клику на элемент списка

хСлавах 18.08.2012 13:53

А можешь хоть примерно сказать что мне нужно изменить в уже существующем условии? Просто я пока мало знаком с командами в этом языке

lord2kim 18.08.2012 13:59

хСлавах,
<html>
<head>

</head>

<body>
<p> Hello world </p>

<script language="JavaScript" type="text/javascript">

function gotolink(what){
var selectedopt=what.options[what.selectedIndex];
if (selectedopt.getAttribute("target") == "newwin")
window.open(selectedopt.value);
else
top.left.location=selectedopt.value;
}

</script>
<form name="gogogo" STYLE='display: inline;'>
<select name="select">
<option value="#">Выберите сайт...</option>
<option value="http://msn.com">опция1</option>
<option value="faq1.htm" target="faq">опция2</option>
<option value="faq2.htm" target="faq">опция3</option></select>
<input type="button" value="Перейти" onClick="gotolink(document.gogogo.select)">
</form>

</body>

</html>

где left имя фрейма

хСлавах 18.08.2012 14:13

Спасибо огромное. Только надо не top а parent использовать, с top не сработало.

Deff 18.08.2012 14:18

lord2kim,
С формой меньше кода - тем паче она уже есть (хотя может для серва меньше заботы

lord2kim 18.08.2012 15:37

Deff, мб, но раз чел просил через фреймы...

Deff 18.08.2012 18:33

lord2kim,
форма через target отправляет результат в нужный фрейм (его имя проставляем в target формы) на данной странице
хотя тож самое и через обычную ссылку http://htmlbook.ru/html/a/target


Часовой пояс GMT +3, время: 17:23.