Динамические формы. ака Выпадающие списки :)
Здравствуйте уважаемые знатоки!
У меня вопрос, про формы ввода данных. Например есть список на HTML: <label> <select name="select" id="select"> <option>Жилой дом</option> <option>Гостиница</option> <option>Магазин</option> <option>Кафе</option> </select> </label> Юзер выбирает "Жилой Дом И ему автоматически выходит форма: <input name="" type="text"> Улица Номер дома и т.д.... Ну и соответственно если юзер выбрал "Гостиница" то ему уже другие формы выйдут, то есть сделать шаблоны форм, под каждый выбранный юзером label. Ну и кнопка отправить и записать в Базу это все дело! PHP Помогите это реализовать! |
помогите, у меня подобная же задача... новичек, перерыла весь инет, наверняка просто, а как?
|
нашла удобное решение проблемы http://javascript.ru/forum/dom-windo...ya-select.html,
но оказалось, что что-то не так и форма с этим решением не отправляется, где ошибка? 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> |
ну неужели никто не поможет?(((
|
Цитата:
|
Используй лучше JQuery библиотеку, там мне кажется проще можно сделать, ставишь обработчик событий на свой селектор
$(document).ready(function() { $(document).on('change',"#select",show_input_form); }); Потом описываешь для этого события функцию show_input_form Подробнее писать времени нет, но там ничего сложного, просто берешь $(this).val() - значение селекта, а потом можешь (свичем например) вставить ниже, в отдельный невидимый див, блок с полями для заполнения. Нужны поля можешь хранить либо в самом скрипте, либо в хтмл в невидимом блоке, тогда используй просто функцию clone для копирования хтмл из блока и вставляй в нужно место простым $('div').htm('cloned') |
Часовой пояс GMT +3, время: 13:40. |