Переход на другую страницу

Статус
Закрыто для дальнейших ответов.

pingvinchic

Well-Known Member
Регистрация
19.11.2009
Сообщения
81
Как можно сделать, чтобы при выборе значения в операторе select происходил переход на другую страницу и передавались 2 значения {PROJECT_ID} и {PROJECT_NAME}?
Код:
<select name='project' id='project' size='1'">
          <option value="0" >Выберите проект</option>
          <option value="all_project">Все проекты</option>


         <!-- { project -->

		<option value="{PROJECT_ID}">{PROJECT_NAME}</option>

         <!-- } project -->

       </select>
переход должен осуществляться только при выборе значения из блока :
Код:
<!-- { project -->

		<option value="{PROJECT_ID}">{PROJECT_NAME}</option>

<!-- } project -->
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
Навскидку:
Код:
<select name='project' id='project' size='1'" 
  onchange="if(this.value != '0' && this.value != 'all_project') 
    document.location='druga_stranica.htm?id='+this.value+'&name={PROJECT_NAME}'">
Подробнее, как передать {PROJECT_NAME}, завтра.
А может быть лучше в файле druga_stranica.htm массив PROJECT_NAME организовать, тогда name вообще не передавать.
Удачи!
 

trueW3C

Поклонник Yii
Регистрация
04.03.2009
Сообщения
847
this.value не получится...у select нет значения...
Код:
this.options[this.selectedIndex].value
this.options[this.selectedIndex].text
Код:
<script type="text/javascript">
<!--
function get(elem)
{
    var value = elem.options[elem.selectedIndex].value;
    var text = elem.options[elem.selectedIndex].text;

    if(value == '0' || value == 'all_project') return;

    document.location.href = 'index.php?id=' + value + '&name=' + text;
}
-->
</script>

<select name='project' id='project' size='1'" onchange="get(this)">
          <option value="0" >Выберите проект</option>
          <option value="all_project">Все проекты</option>


         <!-- { project -->

                <option value="{PROJECT_ID}">{PROJECT_NAME}</option>

         <!-- } project -->

</select>
 

blackcot

Well-Known Member
Регистрация
10.09.2009
Сообщения
439
Код:
......
<script type="text/javascript">
//<!--
function Go()
{
	if (document.getElementById('project').value!=0&&document.getElementById('project').value!='all_projects')
	{
		PROJECT_ID=document.getElementById('project').value;
		for (i in document.getElementById('project').children)
		{
			if (document.getElementById('project').children[i].selected)
			{
				PROJECT_NAME=document.getElementById('project').children[i].innerHTML;
				break;
			}
		}
		window.open('страница(скрипт)-обработчик?PROJECT_ID='+PROJECT_ID+'&PROJECT_NAME='+PROJECT_NAME);
	}
}
//-->
</script>

......

<select onchange="Go()" name='project' id='project' size='1'> 

......
 

trueW3C

Поклонник Yii
Регистрация
04.03.2009
Сообщения
847
PROJECT_ID=document.getElementById('project').value;

НЕ ПОЛУЧИТЕ ВЫ ТАК ЗНАЧЕНИЕ СПИСКА!!! У списка нет значения...у элементов списка оно!!!

Код:
elem.options[elem.selectedIndex].value
К тому, же...зачем тут ID?

Код:
<select onchange="Go(this)" name='project' size='1'> 

function Go(elem)
{
    var value = elem.options[elem.selectedIndex].value;
}
 

blackcot

Well-Known Member
Регистрация
10.09.2009
Сообщения
439
... НЕ ПОЛУЧИТЕ ВЫ ТАК ЗНАЧЕНИЕ СПИСКА!!! У списка нет значения...у элементов списка оно!!! ...
Запустите скрипт в браузере
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
Устроили тут ромашка - получится, не получится.
Я,прежде чем предложить кому-то какой-то код всегда проверяю - работает он или нет, чего и Вам советую.
Я так понял, что проблемы автора темы разрешены?
В догонку скажу, что project_name совсем не к чему передавать, его можно получить в новом файле из базы по project_id.
Удачи!
 

blackcot

Well-Known Member
Регистрация
10.09.2009
Сообщения
439
... Я,прежде чем предложить кому-то какой-то код всегда проверяю - работает он или нет, чего и Вам советую ...
Вот именно.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ