[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод поля ввода
mikanti
Здравствуйте! Имеется форма обратной связи: "Запись на прием к врачу". В ней есть пункт с раскрывающимся списком, который содержит два элемента: "Город", "Село". Нужно сделать так, чтобы когда был активен элемент "Село", снизу было одно поле для ввода названия села, а если будет выбран "Город", то чтобы снизу появилось 5 полей для ввода. Как это организовать? В php не силен, использую плагин формы обратной связи "Contact form 7" в Wordpress.
McLotos
Берете JavaScript и пишите функцию, которая в зависимости от выбора (событие onchange) будет менять содержимое формы. или ещё проще. заранее создаете две формы, и когда срабатывает onchange одну прячете а другую показываете (меняете событие visibility или событие display на формах)

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
mikanti
Дело в том, что в форме есть пункты выше, которые пользователь уже заполнит.
Как я понимаю, используя Ваш способ, все, что будет заполнено выше, сотрется или как?
McLotos
Нет, если будете менять не всю форму, а только поля. например при событие onchange скрыть одни поля и показать другие

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
McLotos
Я не силен в JS, но по-моему как-то так
допустим селект имеет id="specialist"
тогда
делаем так
<select id="specialist" name="specialist" onchange="MyFunction(this.id)">

а теперь сама функция
MyFunction(elem){
тут мы проверяем какое значение пришло в функцию.
Это можно сделать IF или кейсами
потом в зависимости от варианта меняем значение display, наверное как-то так
document.getElementById(тут ID элемента который нужно скрыть или показать).style.display
}
какие значения может принимать параметр display это есть в документации к CSS

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
McLotos
Я бы сказал намного больше, если бы вместо картинок получил сюда код. =)

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
mikanti
Код с шаблона формы плагина :

<p>Дата (с завтрашнего дня)<br />
[date date-963] </p>

<p>
Специалист (врач)<br />
[select menu-502 "Терапевт" "Педиатр" "Онколог" "Хирург"
"Нарколог" "Психиатр" "Дерматовенеролог" "Акушер-гинеколог"
"Отоларинолог" "Офтальмолог" "Эндокринолог" "Подростковый врач"
"Хирург" "Невропатолог" "Кардиолог" "Инфекционист"
"Ревматолог" "Фтизиатр" ] </p>

<p>
Ваш адрес:<p/>
[select menu-256 "Город" "Село"]

<p>Город:<br />
[textarea textarea-297 class:address] </p>

<p>
Село:<br />
[textarea textarea-824 class:address]</p>

<p>
Улица:<br />
[textarea textarea-314 class:address] </p>

<p>
Дом:<br />
[textarea textarea-286 class:address] </p>

<p>
Префикс дома А, Б (если имеется):<br />
[textarea textarea-640 class:address] </p>

<p>
Квартира:<br />
[textarea textarea-796 class:address] </p>

<p>
Ф.И.О.:<br />
[text* your-name] </p>

<p>
ИИН:<br />
[textarea textarea-428 /12 class:calldoctor] </p>

<p>
Ваш e-mail:<br />
[email* your-email] </p>

<p>
Номер телефона:<br />
[tel tel-254] </p>

<p>
Причина обращения:<br />
[textarea your-message] </p>

<p>
Введите код с картинки:<br />
[captchac captcha-228] </p>
[captchar captcha-228]

<p>[submit "Отправить"]</p>


Я бы хотел сделать форму сам , но пока мои умения и знания не позволяют этого, что и в PHP, и в JavaScript)
McLotos
что это?

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
mikanti
Это плагин "формы обратной связи", который генерирует теги таким образом. Вот тут то я и хотел вставить код, который решит мою проблему.
mikanti
Цитата (SergeySA @ 8.07.2014 - 16:34)
Я не силен в JS, но по-моему как-то так
допустим селект имеет id="specialist"
тогда
делаем так
<select id="specialist" name="specialist" onchange="MyFunction(this.id)">

а теперь сама функция
MyFunction(elem){
тут мы проверяем какое значение пришло в функцию.
Это можно сделать IF или кейсами
потом в зависимости от варианта меняем значение display, наверное как-то так
document.getElementById(тут ID элемента который нужно скрыть или показать).style.display
}
какие значения может принимать параметр display это есть в документации к CSS

Спасибо! Буду пробовать.
McLotos
Хорошо. отпишите к чему пришли. если что ещё подскажу

_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.