Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.01.2010, 15:28
Новичок на форуме
Отправить личное сообщение для sochinec Посмотреть профиль Найти все сообщения от sochinec
 
Регистрация: 31.07.2009
Сообщений: 5

Динамические формы. ака Выпадающие списки :)
Здравствуйте уважаемые знатоки!

У меня вопрос, про формы ввода данных.
Например есть список на HTML:

<label>
  <select name="select" id="select">
    <option>Жилой дом</option>
    <option>Гостиница</option>
    <option>Магазин</option>
    <option>Кафе</option>
  </select>
</label>


Юзер выбирает "Жилой Дом

И ему автоматически выходит форма:
<input name="" type="text">

Улица
Номер дома
и т.д....

Ну и соответственно если юзер выбрал "Гостиница"
то ему уже другие формы выйдут, то есть сделать шаблоны форм, под каждый выбранный юзером label. Ну и кнопка отправить и записать в Базу это все дело! PHP

Помогите это реализовать!
Ответить с цитированием
  #2 (permalink)  
Старый 17.04.2012, 23:02
Новичок на форуме
Отправить личное сообщение для alenkaaa Посмотреть профиль Найти все сообщения от alenkaaa
 
Регистрация: 17.04.2012
Сообщений: 5

помогите, у меня подобная же задача... новичек, перерыла весь инет, наверняка просто, а как?
Ответить с цитированием
  #3 (permalink)  
Старый 18.04.2012, 01:16
Новичок на форуме
Отправить личное сообщение для alenkaaa Посмотреть профиль Найти все сообщения от alenkaaa
 
Регистрация: 17.04.2012
Сообщений: 5

нашла удобное решение проблемы Скрыть/показать элементы в зависимости от значения select,
но оказалось, что что-то не так и форма с этим решением не отправляется, где ошибка?
http://freefriends.ru/mail3_otvet/answer.php

скрипт
<script>
function Selected(a) {
	var label = a.value;
	if (label==2) {
		document.getElementById("Label2").style.display='block';
		document.getElementById("Label3").style.display='none';
		
	} else if (label==3) {
		document.getElementById("Label2").style.display='none';
		document.getElementById("Label3").style.display='block';
		
	} else {
		document.getElementById("Label2").style.display='none';
		document.getElementById("Label3").style.display='none';
	}
	
}</script>>


вырезка из формы:
<dl class="row">
			<dt class='lable'><label for="about"><strong>Проблема (вопрос):</strong></label></dt>
            <dd class="field"><select id="about" class="Validate_Required " name="about" aria-required="true" onChange="Selected(this)">
   <option value="1"  selected="selected">Решена</option>
   <option value="2">Не решена</option>
   <option value="3">Требует дополнительной проработки</option>
</select>
</dd>
</dl>


<div id='Label2' style='display: none;'>
<dl class="row">
	 <dt class='lable'><label for="problem">Причина:</label></dt>
     <dd class="field"><textarea rows="3" name="problem" id="problem" class="text required"></textarea></dd>
</dl>
</div>
<div id='Label3' style='display: none;'>
<dl class="row">
	<dt class='lable'><label for="later">Пояснение:</label></dt>
     <dd class="field"><textarea rows="3" name="later" id="later" class="text required"></textarea></dd>
</dl>
<dl class="row">
	<dt class='lable'><label for="laterв"> <div class="small">необходимые для этого сроки</div>
</label></dt>
     <dd class="field"><input type="text" id="datepicker1" name="laterd" /></dd>
</dl></div>
Ответить с цитированием
  #4 (permalink)  
Старый 18.04.2012, 09:52
Новичок на форуме
Отправить личное сообщение для alenkaaa Посмотреть профиль Найти все сообщения от alenkaaa
 
Регистрация: 17.04.2012
Сообщений: 5

ну неужели никто не поможет?(((

Последний раз редактировалось alenkaaa, 18.04.2012 в 10:30.
Ответить с цитированием
  #5 (permalink)  
Старый 18.04.2012, 14:39
vls vls вне форума
Новичок на форуме
Отправить личное сообщение для vls Посмотреть профиль Найти все сообщения от vls
 
Регистрация: 17.04.2009
Сообщений: 4

Сообщение от alenkaaa
форма с этим решением не отправляется
А в ХТМЛ-е самого тега формы нету?
Ответить с цитированием
  #6 (permalink)  
Старый 18.04.2012, 17:19
Кандидат Javascript-наук
Отправить личное сообщение для vuler Посмотреть профиль Найти все сообщения от vuler
 
Регистрация: 16.02.2012
Сообщений: 109

Используй лучше JQuery библиотеку, там мне кажется проще можно сделать, ставишь обработчик событий на свой селектор
$(document).ready(function() {

   $(document).on('change',"#select",show_input_form);


});


Потом описываешь для этого события функцию show_input_form
Подробнее писать времени нет, но там ничего сложного, просто берешь $(this).val() - значение селекта, а потом можешь (свичем например) вставить ниже, в отдельный невидимый див, блок с полями для заполнения. Нужны поля можешь хранить либо в самом скрипте, либо в хтмл в невидимом блоке, тогда используй просто функцию clone для копирования хтмл из блока и вставляй в нужно место простым $('div').htm('cloned')
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
динамические списки Shaci jQuery 0 14.12.2009 15:03
Выпадающие списки - динамика Страдающий AJAX и COMET 7 11.09.2009 18:25
Динамические поля формы kupnet Общие вопросы Javascript 5 12.08.2009 14:54
Выпадающие списки и запросы к Базе данных Arzobispo Элементы интерфейса 0 21.11.2008 10:15
Выпадающие списки solomusic Ваши сайты и скрипты 3 17.08.2008 16:19