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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> динамическое создание полей, при изменении значения в Select 
V
    Опции темы
ylims
Дата 17.10.2007, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 28.2.2007

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



сразу скажу, что со скриптами знаком достаточно поверхностно, поэтому не пинайте еси что  smile .


Вобсчес ситуёвина такая, есть форма в ней какието поля и селект, в зависимости от того какое значение имеет селект в форме могут появится какие-то дополнительные поля.

сейчас код выглядит примерно так:
Код

<FORM>
    <input size="50" type="text" name="d1"> 
    <input size="50" type="text" name="d2">
    <select name="Prov" onchange="d()" size="1">
                                  <option value="Н">НЕТ
                                  <option value="Д">ДА
    </select> 
    <input  type="submit" value="Добавить">
</FORM>


то есть если выбрали в select ДА то открылись дополнительные поля для ввода, если НЕТ то не открылись. 
Я так понимаю нужно создать какуто функцию и прописать её в ОнЧейндже select-a, но вот как такая фуекция должна выглядеть????
Помогите, а? 
Зарнее пасиб
--------------------
ЦитатаНу и запросы у вас - сказала база данных и повисла.
PM MAIL ICQ   Вверх
solenko
Дата 17.10.2007, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

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



Код

<script>
function onselchange(sel) {
  if (sel.options[sel.selectedIndex].value == 'Д')
     document.getElementById('additional_fields').style.display = 'block';
  else
     document.getElementById('additional_fields').style.display = 'none';
}
</script>
<FORM>
<div id="additional_fields">
<input name="adf1" /><br />
<input name="adf2" /><br />
</div>
    <input size="50" type="text" name="d1"> 
    <input size="50" type="text" name="d2">
    <select name="Prov" onchange="onselchange(this)" size="1">
                                  <option value="Н">НЕТ
                                  <option value="Д">ДА
    </select> 
    <input  type="submit" value="Добавить">
</FORM>



--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Astraller
Дата 17.10.2007, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

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



Гг.... очень просто. Со свойством display знакомы? Если да то поймёте пример:
Код

<script>
function go(){
document.getElementById("1").style.display="none";
document.getElementById("2").style.display="none";
document.getElementById(document.getElementById("myselect").value).style.dicplsay='block';
}
</script>
<body>
<select id="myselect" onchange='go();'>
<option value='1'>1</option>
<option value='2'>2</option>
</select>
<div id="1" style='display:none;'>Йа дивко 1</div>
<div id="2" style='display:none;'>Йа дивко 2</div>
</body>

Если нет, то придётся изучить - ибо это самый простой метод.

solenko  smile  на 2 секунды меня обогнал.

Это сообщение отредактировал(а) Astraller - 17.10.2007, 08:46


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
ylims
Дата 17.10.2007, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 28.2.2007

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



товарисчи, не работает (

почемута не один ни второй.



Это сообщение отредактировал(а) ylims - 17.10.2007, 11:21
--------------------
ЦитатаНу и запросы у вас - сказала база данных и повисла.
PM MAIL ICQ   Вверх
Astraller
Дата 17.10.2007, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

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



ylims, какие ошибки?


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
dstorm81
Дата 17.10.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



Код

<html>
<body>
<form action="qq.html" method="get">
    <input type="text" name="d1" /> 
    <input type="text" name="d2" />
    <select name="Prov" onchange="document.getElementById('hiddenField').style.display=this.value;" size="1">
                                  <option selected="selected" value="none">no</option>
                                  <option value="block">yes</option>
    </select> 
<input  type="submit" value="send" />
<div id="hiddenField" style="display:none">
<input name="addpole" type="text" value="adder1" />
<input name="pswd" type="password" value="adder2" />

</div>
</form>
</body>
</html>

первый вариант переделанный, однако должны помнить что данные которые вы скрыли все равно уйдут на сервер (если браузер не какой-нить тупой и недоделанный)
чтобы не передавать данные понапрасну (пожалей пользователя и сервак) мы их дизаблим
Код

<html>
<head>
<script>
var makeProc=function(stat)
{
document.getElementById('hiddenField').style.display=stat;
var allinput=document.getElementById('hiddenField').getElementsByTagName('input');
for(var i=0;i<allinput.length;i++)
    {
    allinput[i].disabled=(allinput[i].disabled)?false:true;
    }
}
</script>
</head>
<body>
<form action="qq.html" method="get">
    <input type="text" name="d1" /> 
    <input type="text" name="d2" />
    <select name="Prov" onchange="makeProc(this.value)">
     <option selected="selected" value="none">no</option>
     <option value="block">yes</option>
    </select> 
<input  type="submit" value="send" />
<div id="hiddenField" style="display:none">
<input name="addpole" type="text" value="adder1" disabled="disabled" />
<input name="pswd" type="password" value="adder2" disabled="disabled" />
</div>
</form>
</body>
</html>

вобщем думай что и как smile
проверку еще раз на севрере делай однозначно
;-)







--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
ylims
Дата 19.10.2007, 02:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 28.2.2007

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



thanks to all.

Вот так всё работает:
Код

<head>
 <script>
 function d(sel) {
    if (sel == 'yes'){
     document.getElementById('additional_fields').style.display = 'block';}
    else {
     document.getElementById('additional_fields').style.display = 'none';}
   }
 </script>
</head>
<body>
  <FORM name="mainform" action="in.do" method="POST">
    <input size="50" type="text" name="d1"> 
    <input size="50" type="text" name="d2">
    <select name="Prov" onchange="d(this.value)" size="1">
                                  <option value="Н">НЕТ
                                  <option value="Д">ДА
    </select> 
    <div id="additional_fields">
       <input name="field1" type="text" size="20">
       <!-- другие поля -->
    </div>
    <script>document.getElementById('additional_fields').style.display = 'none';</script>
    <input  type="submit" value="Добавить">
</FORM>
</body>


Это сообщение отредактировал(а) ylims - 19.10.2007, 02:38
--------------------
ЦитатаНу и запросы у вас - сказала база данных и повисла.
PM MAIL ICQ   Вверх
dstorm81
Дата 19.10.2007, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



ylims 
епрст, ну и кодер маму твою за ногу
что это за фигня??
Цитата(ylims @  19.10.2007,  02:37 Найти цитируемый пост)

<option value="Н">НЕТ
<option value="Д">ДА

????7

Цитата(ylims @  19.10.2007,  02:37 Найти цитируемый пост)

<script> function d(sel) 
{    if (sel == 'yes'){     document.getElementById('additional_fields').style.display = 'block';}   
 else {     document.getElementById('additional_fields').style.display = 'none';}   } 
</script>


и это что такое???
ты хоть что написал понял???
Н/Д что такое???
ясен перец что при первом обращении в элементу что он ну никак не может быть равным yes потомучто он Н или Д
а как я понял (Н||Д)!='yes'
код никудышный совсем


а если у меня отключен javascript что у тебя скроет поля которые не должны отображаться
используй css

Что-то я зол однако на Вас




--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
ylims
Дата 19.10.2007, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 28.2.2007

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



Цитата(dstorm81 @ 19.10.2007,  08:29)
ylims 
епрст, ну и кодер маму твою за ногу
что это за фигня??
Цитата(ylims @  19.10.2007,  02:37 Найти цитируемый пост)

<option value="Н">НЕТ
<option value="Д">ДА

????7

Цитата(ylims @  19.10.2007,  02:37 Найти цитируемый пост)

<script> function d(sel) 
{    if (sel == 'yes'){     document.getElementById('additional_fields').style.display = 'block';}   
 else {     document.getElementById('additional_fields').style.display = 'none';}   } 
</script>


и это что такое???
ты хоть что написал понял???
Н/Д что такое???
ясен перец что при первом обращении в элементу что он ну никак не может быть равным yes потомучто он Н или Д
а как я понял (Н||Д)!='yes'
код никудышный совсем


а если у меня отключен javascript что у тебя скроет поля которые не должны отображаться
используй css

Что-то я зол однако на Вас

 не,  я просто ошибся когда постил.  Канешно же у меня 
Код

<select name="prov" onchange="d(this.value);">
                                  <option value="no">НЕТ
                                  <option value="yes">ДА
                                </select>


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


 




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


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

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