Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> зависимость адреса ссылки от пункта из формы, Выбираем пункт из формы, меняется ссылка 
:(
    Опции темы
Гриша К.
Дата 12.6.2005, 20:53 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Подскажите пожалуйста, как сделать, так, чтобы переменная $id принимала значение (r1, r2, r3),
в соответсвие с выбранным пунктом (размер 1, размер 2, размер 3) из текстового поля формы,
на примере следующего кода:

Код

<form name="form">
<select name="razmer" size="1">
<option value="r1">размер 1</option>
<option value="r2">размер 2</option>
<option value="r3">размер 3</option>                                       
</select>
<br>
<a href="show_cart.php?new=$id"> Ссылка </a>
</form>


ИЛИ ЧТОБЫ ПРИ ВЫБОРЕ ПУНКТА (r1, r2, r3) ИЗ НИСПАДАЮЩЕГО ПОЛЯ ФОРМЫ, МЕНЯЛСЯ ПУТЬ ССЫЛКИ, НАПРИМЕР:

если выбирается пункт "размер 1", то адресс ссылки становился такой:
Код

<a href="show_cart.php?new=r1"> Ссылка </a>
,

если выбирается пункт "размер 2", то адресс ссылки становился такой:
Код

<a href="show_cart.php?new=r2"> Ссылка </a>


и т.д.

М
 

Пользуйся форумной подсветкой!


Это сообщение отредактировал(а) Aliance - 12.6.2005, 21:02
  Вверх
Aliance
Дата 12.6.2005, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Переменная $id - явно переменна php. smile Связь JS <-> PHP smile
Имхо, проще всего сделать так:
Код

<form name="form" method="get" action="">
<select name="new" size="1">
<option value="r1">размер 1</option>
<option value="r2">размер 2</option>
<option value="r3">размер 3</option>                                       
</select>
<br>
<input type="submit">
</form>


Только это уже не JS...
PM MAIL WWW ICQ Skype   Вверх
Гриша
Дата 12.6.2005, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Подскажите пожалуйста

Мне необходимо сделать так, чтобы когда пользователь выбирал пункт из ниспадающего меню (name="razmer"), в соответствии со значением "value" этого пункта, гиперссылка с именем "ссылка" меняла свой адрес, после чего пользователь нажимает на ссылку, и на следующую страницу передавалась ссылка спараметром, например "show_cart.php?new=r1"
Код

<form name="form">
<select name="razmer" size="1">
<option value="r1">размер 1</option>
<option value="r2">размер 2</option>
<option value="r3">размер 3</option>                                       
</select>
</form>
<br>
<a href="show_cart.php?new=..."> Ссылка </a>


Это сообщение отредактировал(а) Гриша - 12.6.2005, 21:23
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Aliance
Дата 12.6.2005, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Код

<form name="form" method="get" action="">
<select name="razmer" size="1" onchange="makeLink(this, 'qwe')">
<option value="r1">размер 1</option>
<option value="r2">размер 2</option>
<option value="r3">размер 3</option>                                       
</select>
<br>
</form>
<div id="qwe">
<a href="show_cart.php">Ссылка</a>
</div>


Код

function makeLink(choiser, place) {
 var block = document.getElementById(place);
 var val = choiser.options[choiser.selectedIndex].value;
 block.innerHTML = '<a href="show_cart.php?new=' + val + '">Ссылка</a>';
}


Только зачем такой изврат?!

Это сообщение отредактировал(а) Aliance - 12.6.2005, 21:30
PM MAIL WWW ICQ Skype   Вверх
Гриша
Дата 12.6.2005, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Aliance, спасибо большое за ответ. Я попробовал сделать как вы мне написали.
Действительно, получилось так, что адресс сыылки меняется.
Но вот такая проблема, после выбора пункта ниспадающего меню, получается так, что ссылка, появляется, но отдельно от ниспадающего меню, т.е. ниспадающее меню со страницы исчезает и только после этого, появляется ссылка.
Возможно я что-то не так сделал. Я с яваскриптом незнаком, просто мне необходима такая вот функция, а времени изучать самому яваскрипт нету совсем.

Как вывести на экран значение переменной val вне функции makeLink(choiser):

Код

<html>
<head>
</head>
<body>
<form name="form" method="get" action="">
<select name="razmer" size="1" onchange="makeLink(this)">
<option value="r1">размер 1</option>
<option value="r2">размер 2</option>
<option value="r3">размер 3</option>                                       
</select>
</form>
<p><script language="JavaScript">
<!-- 
function  {
 var val = choiser.options[choiser.selectedIndex].value;
 document.write('<a href="show_cart.php?new=' + val + '">Ссылка</a>');
}
// -->
</script></p>
</form>
</body>
</html>

ПОДСКАЖИТЕ ПОЖАЛУЙСТА, КАК СДЕЛАТЬ, ТАК, ЧТОБЫ ПОД НИСПАДАЮЩЕМ МЕНЮ ВСЕГДА БЫЛА ВИДНА ГИПЕРССЫЛКА С ИМЕНЕМ "ССЫЛКА", А ПРИ ВЫБОРЕ ПУНКТОВ МЕНЮ, ЕЕ АДРЕСС МЕНЯЛСЯ, НО НИСПАДАЮЩЕЕ МЕНЮ И ССЫЛКА, ОСТАВАЛИСЬ НА СТРАНИЦЕ ВМЕСТЕ.

Это сообщение отредактировал(а) Гриша - 12.6.2005, 22:32
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Ciber SLasH
Дата 12.6.2005, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



К сожалению у SELECT'а есть только событие onChange, поэтому единственное что можно сделать для того, чтобы список был всегда виден -- это задать размер списка таким, сколько OPTION'ов в SELECT'е (в твоём примере у SELECT'а поставь size=3).
PM   Вверх
Гриша
Дата 12.6.2005, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



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


 ! 
 

Делается первое предупреждение!


Это сообщение отредактировал(а) Aliance - 13.6.2005, 17:24
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
o.s.a.
Дата 13.6.2005, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: 5
Всего: 15



Гриша, что тебе не нравиться??? Все происходит так, как ты и хочешь.
По крайней мере у меня в firefox-е код Альянса работает нормально smile


--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
sergejzr
Дата 13.6.2005, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



Гриша, пожалуйста, держите себя в руках. Слепых здесь нет!


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Aliance
Дата 13.6.2005, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Гриша
Правила форума: http://forum.vingrad.ru/index.php?s=&act=SR&f=27
Так же, в рунете имеется огромное кол-во сайтов аля "Как правильно общаться."
Советую прочесть.

А по факту оффтопика тему закрою. Так что не стоит отклонятся от обьсуждения.

Цитата
адресс гиперссылки, которая все время находится под этим меню, менялся, в зависимости от выбора пользователя.

Вы поймите, JS - клиентский язык, он не можетменять разметку документа, полученную браузером от сервера (фактически не может). Есть есть ссылка - то ее изменить можно только так:
  • удалить ее
  • записать вместо нее ссылку с нужными параметрами

PM MAIL WWW ICQ Skype   Вверх
sergejzr
Дата 13.6.2005, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



 Вот код:
Код


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<form name="form" method="get" action="">
<select name="razmer" id="razmer" size="1" onchange="makeLink(this)">
<option value="r1">размер 1</option>
<option value="r2">размер 2</option>
<option value="r3">размер 3</option>                                       
</select>
</form>
<a id="ssylka" href="show_cart.php?new=r1">Ссылка r1</a>
<p><script language="JavaScript">
<!-- 
function  makeLink(val)
{
  var ssylka=document.getElementById('ssylka');
  ssylka.href="show_cart.php?new=" + val.value ;
  ssylka.innerHTML="Ссылка: "+val.value;
}
// -->
</script></p>
</form>
</body>
</html>


Вот пример:
[doHTML_g]
<iframe src="http://files.vingrad.ru/sergej.z/js/examples/change_ex/"></iframe>
[/doHTML_g] 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Гриша
Дата 14.6.2005, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Спасибо большое за ответ sergej.z .
Все работает хорошо.
Только я хотел, чтобы ссылка всегад оставалась с названием "ссылка", но я так понял, что для этого я убираю вот эту строку из javascript и все?
Код

ssylka.innerHTML="Ссылка: "+val.value;


НО ЭТА СТРОКА МНЕ ТОЖЕ ОЧЕНЬ ПРИГОДИТЬСЯ, СПАСИБО БОЛЬШОЕ sergej.z ЗА ЭТОТ КОД.

Я открыл эту тему, недогодавшись о том, что можно сделать просто ссылку вместо кнопки SUBMIT, которая будет отправлять все данные на сервер.

Потом я открыл вот эту тему: Использовать ссылку вместо кнопки submint.

Для того, чтобы значения name и value поля select, отправлялись на сервер при помощи ссылки, лучше использовать?:

Код

<form id="form1" method="get" action="/get_order/cart.php">

<select name="new" size="1">
<option value="r1">размер 1</option>
<option value="r2">размер 2</option>                                       
<option value="r3">размер 3</option>                                        
</select>

<br><a href="javascript:document.getElementById('form1').submit();">link</a>


</form> 

--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
sergejzr
Дата 14.6.2005, 02:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



В твоём случае это дело вкуса. POST может передать намного больше инфы, чем GET/
Вообще - то POST предназначен для передачи инфы на сервер (по стандарту HTTP протокола). К тому же инфа переданная POST не отражается в логах сервера, так как не отображается в адресной строке.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Гриша
Дата 14.6.2005, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



ВСЕ ПОНЯЛ, СПАСИБО БОЛЬШОЕ ЗА ПОМОЩЬ sergej.z И СПАСИБО ВСЕМ КТО УЧАСТВОВАЛ (ПОМОГАЛ) В ТЕМЕ.

ДУМАЮ МОЖНО, НАПИСАТЬ, ЧТО ПО ЭТОЙ ТЕМЕ ВСЕ СТАЛО НАГЛЯДНОЯ ЯСНО !!!
М
 
Aliance, пасибы закрывать не стоит :)

--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1597 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.