LINUX.ORG.RU

Создание динамических html-форм


0

1

Задача:
Создать html-форму, некоторые поля которой будут зависеть от других выбранных полей формы.
Т.е., допустим, выбрали в select'е значение 1 - появились такие-то поля с такими-то значениями, в появившемся select'е выбираем что-то - появляются еще какие-то поля. Затем, выбираем в первом селекте другое значение - ненужные поля исчезают, нужные - появляются.
Проблема в том, что форма достаточно сложная, если рисовать дерево вариантов, то получается довольно большим и запутанным.
Может есть какие-нибудь javascript-библиотеки для легкого и быстрого решения подобных задач?

★★★★★

Сам сейчас пытаюсь сделать с использованием multiple class'ов, но слишком уж запутанно получается...

kovrik ★★★★★ ()

Опции хранить в массиве массивов в JS, при изменении родительского select перерисовывать дочерний с нужными опциями. Рассказывай, что там за такая сложная структура?

SOmni ★★ ()

У зависимых элементов в id закодировать каким-нибудь способом нужные значения определенных полей. Я бы так сделал. Обрабатывать можно одной функцией тогда.

amomymous ★★★ ()
Ответ на: комментарий от kovrik

Ну, если в общих чертах - это MVC фреймворк для JS, который дружит с jQuery (Zepto опционально). То есть, в теории, задаёшь шаблоны полей (как у них неймы и айдишники генерятся, например), кодируешь как-нибудь условия их взаимодействия (наверное, немного должно получиться) и расставляешь события (на выбор из дроплиста и всё такое прочее) - и форма сама рисуется как надо. Или я совсем не понял что тебе нужно.

jessey ()
Ответ на: комментарий от jessey

Да, все правильно понял...только вот, не слишком ли громоздко (целый MVC-фреймворк) для рисования одной формы?

kovrik ★★★★★ ()
Ответ на: комментарий от kovrik

В плане объёма оно весит 5,3 Кб сам Backbone и ещё 4 Кб к нему обвеска. Это будучи минифицированными и погзиповаными. Другое дело, осваивать это ради формы. Так что сам решай.
Зато весьма доставляет писать на нём хотя бы мало-мальски сложные интерфейсы.

jessey ()
Ответ на: комментарий от kovrik

Сдаётся мне, форму ты врядли делать на нём будешь. А вот на будущее возьми на заметку, может пригодится. Будут советовать Knockout - помни: у них в туториале где-то юзаются нестандартные атрибуты тегов, ну ты понял к чему я.

jessey ()
Ответ на: комментарий от jessey

Будут советовать Knockout - помни: у них в туториале где-то юзаются нестандартные атрибуты тегов, ну ты понял к чему я.

Почему это data-bind нестандартный? Или вы за полный и тотальный valid xhtml?

resurtm ★★★ ()
Ответ на: комментарий от resurtm

Лично я ничего плохого не вижу. Но некоторые (многие?) упоротые заказчики требуэ.

jessey ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.