Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Создание GET запроса из значений списков


Автор: Mal Hack 12.6.2005, 15:47
В JS ничего не понимаю.
Имеем 2 списка. Из выбранных значеий списка (атрибут name тэга options) составить запрос <1 список>/<2 список> и сделать на него редирект при клике на кнопку.
Причем. Чем все осложняется. К этому GET запросу надо еще прикрепить: /<3 список или hidden поле>.
Т.е. Если есть три списка: <1 список>/<2 список> /<3 список>
Если списка нет, то <1 список>/<2 список> /<hidden поле>

Автор: Aliance 12.6.2005, 16:15
Привет. Хочется видеть пример строки браузера, чтобы дать точный ответ :-)
Да и разметка форм не помешала бы =)

Автор: Mal Hack 12.6.2005, 16:20
Цитата(Aliance @ 12.6.2005, 17:15)
Привет. Хочется видеть пример строки браузера, чтобы дать точный ответ :-)

В HTML есть <base> поэтому все от него пляшет. Т.е. редирект на <1 список>/<2 список> отправит на _http://test2/mtime/<модуль>/<1 список>/<2 список>

Цитата(Aliance @ 12.6.2005, 17:15)
Да и разметка форм не помешала бы =)

Будет как дойду smile
Я поэтому ее и не делал, думал без нее можно будет %smile

Автор: Aliance 12.6.2005, 16:26
Цитата(Mal @ 12.6.2005, 17:20)
http://test2/mtime/<модуль>/<1 список>/<2 список>

Конкретнее бы :-)
Так:
Код

http://www.test2.ru/mtime/module/one/two/index.php

???

Автор: Mal Hack 12.6.2005, 16:29
Цитата(Aliance @ 12.6.2005, 17:26)
/index.php

Этого не надо... Чуть попозже когда до модуля дойду и построю формы - скину...

Автор: Aliance 12.6.2005, 16:31
Т.е. как я написал, юез названия страницы?
Т.е. <1,2,3,.... список> - это папки?

Автор: Mal Hack 12.6.2005, 16:43
Цитата(Aliance @ 12.6.2005, 17:31)
Т.е. как я написал, юез названия страницы?

Да.

Цитата(Aliance @ 12.6.2005, 17:31)
Т.е. <1,2,3,.... список> - это папки?

Не не папки, а параметры такие smile Этих папок ясный фиг не существует smile

Автор: Black 12.6.2005, 16:43
Во напечатал что-то:

Код

<html>
<head>

<script>
function mustdie(num)
{

// select 1, 2, 3
var name1 = document.getElementById('name1').value;
var name2 = document.getElementById('name2').value;
var name3 = document.getElementById('name3').value;
// поле hidden
var name4 = document.getElementById('name4').value

// теперь формируем url
if(num==1) { var url = 'name.php?name1='+name1+'&name2='+name2+'&name3='+name3+'&name4='+name4; }
if(num==2) { var url = 'name.php?name1='+name1+'&name2='+name2+'&name4='+name4; }
if(num==3) { var url = 'name.php?name1='+name1+'&name2='+name2+'&name3='+name3; }

// тестируем получаемый url
// в работоспособном варианте закомментируйте данную строку или удалите ее вообще
alert(url);

// перекидываем на нужный url
location.href = url;

}
</script>

</head>

<body style='background: #c0c0c0'>

<div align='center'> Special For Mal Hack </div><br />

Что вы любите:<br />
<select id='name1'>
<option value='cream' />Крем
<option value='apple' />Яблоко
<option value='orange' />Апельсин
</select>

<br /><br />

Любимая шоколадка:<br />
<select id='name2'>
<option value='mars' />Mars
<option value='Russian' />Россия
<option value='twix' />Twix
</select>

<input type='hidden' id='name4' value='мороженное'>

<br /><br />

Еще список:<br />
<select id='name3'>
<option value='anybody' />Что-то
<option value='ly' />ля-ля
<option value='kot' />я несу кота
</select>

<br /><br />

<input type='button' onclick='mustdie(1)' value='Послать все на сервер'>  <br />
<input type='button' onclick='mustdie(2)' value='Послать все без 3 формы'>  <br />
<input type='button' onclick='mustdie(3)' value='Послать все без hidden поля'>  <br />

<br />

<small>извиняюсь за названия полей, переменных и т.д. нету фантазии у меня</small>

</body>
</html>


P.S: тока я вообще не понял что надо делать.. делал как телепат smile
Добавлено @ 16:45
ООО пока я печатал Mal Hack и Aliance что-то говорили, щас почитаю... мож пойму чего smile
Добавлено @ 16:47
Aliance
Mal Hack
не все равно ничего не понял .... ладно думаю то что написал вроде бы подходит. Все без абсолютного адреса работает.

Автор: Mal Hack 12.6.2005, 16:47
Да, сразу. Списки надо по name идентифицировать, а не по ID.

Автор: Black 12.6.2005, 16:50
Mal Hack
ну.. подиши ID ты же скрипт делаешь??? или ты не можешь его изменить???

Тогда через форму надо добираться.. щас напишу пример
Добавлено @ 16:53
Вот сделал:

Код

<html>
<head>

<script>
function mustdie(num)
{

// select 1, 2, 3
var name1 = document.crazy.name1.value;
var name2 = document.crazy.name2.value;
var name3 = document.crazy.name3.value;
// поле hidden
var name4 = document.crazy.name4.value

// теперь формируем url
if(num==1) { var url = 'name.php?name1='+name1+'&name2='+name2+'&name3='+name3+'&name4='+name4; }
if(num==2) { var url = 'name.php?name1='+name1+'&name2='+name2+'&name4='+name4; }
if(num==3) { var url = 'name.php?name1='+name1+'&name2='+name2+'&name3='+name3; }

// тестируем получаемый url
// в работоспособном варианте закомментируйте данную строку или удалите ее вообще
alert(url);

// перекидываем на нужный url
location.href = url;

}
</script>

</head>

<body style='background: #c0c0c0'>

<div align='center'> Special For Mal Hack </div><br />

<form name='crazy' action='nam_vse_ravno'>

Что вы любите:<br />
<select name='name1'>
<option value='cream' />Крем
<option value='apple' />Яблоко
<option value='orange' />Апельсин
</select>

<br /><br />

Любимая шоколадка:<br />
<select name='name2'>
<option value='mars' />Mars
<option value='Russian' />Россия
<option value='twix' />Twix
</select>

<input type='hidden' name='name4' value='мороженное'>

<br /><br />

Еще список:<br />
<select name='name3'>
<option value='anybody' />Что-то
<option value='ly' />ля-ля
<option value='kot' />я несу кота
</select>

<br /><br />

<input type='button' onclick='mustdie(1)' value='Послать все на сервер'>  <br />
<input type='button' onclick='mustdie(2)' value='Послать все без 3 формы'>  <br />
<input type='button' onclick='mustdie(3)' value='Послать все без hidden поля'>  <br />

</form>

<br />

<small>извиняюсь за названия полей, переменных и т.д. нету фантазии у меня</small>

</body>
</html>

Автор: Aliance 12.6.2005, 21:01
Нет, в select`у так нельзя обращаться.
Код

<select name="sel1" id="sel1" onchange="selectView(this)">
   <option value="" cheked>=====</option>
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
</select>

Код

function selectView(sel) {
 var val = sel.options[sel.selectedIndex].val;
 alert(val);
}


А так не понимай слово "параметры"... smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)