Как я могу изменить форму динамически и интерактивно в CakePHP? - PullRequest
0 голосов
/ 04 апреля 2011

Что я хочу сделать, это:

  • создание формы с одним вводом (поле со списком)

  • в зависимости от выбора пользователя в поле со списком, другие формы должны быть добавлены в форму ..

например, форма для создания новых пользователей ..

поле со списком будет содержать список типов пользователей ..

в зависимости от типа пользователя поля добавляются в форму

для student, нам нужно (имя, адрес электронной почты), для teacher, нам нужно (имя, адрес электронной почты, телефон, сертификат) и т. Д.

У меня уже есть код для всего этого .. Мне просто нужны руководящие указания для этой конкретной задачи

Кстати, я предпочитаю использовать jQuery для кода javascript ..

любая помощь будет оценена ...

1 Ответ

0 голосов
/ 04 апреля 2011

Есть 2 сценария.

Non Ajax

  1. Имеет промежуточный экран, где пользователь выбирает, какого типа пользователя он хочет добавить

  2. В зависимости от выбора переключите вид и отобразите соответствующий пользовательский вид для пользователя

AJAX

  1. Когда пользователь выбирает переключатель, отправьте запрос вашему контроллеру и получите необходимую форму HTML для этого типа пользователя.Вы можете сохранить его в виде или как элемент

  2. Вставить его в DOM, а затем позволить пользователю заполнить его и отправить.(Это не сработает, если вы используете компонент Security!)

Вы можете использовать $this->render() для переключения видов и jQuery.load() для запуска AJAX.

Вы также можете объединить эти два метода, чтобы получить полный пользовательский опыт.По сути, если JS включен, вы можете сделать это AJAX-способом, а если нет, вы можете использовать промежуточный метод.Расслоение вашей функциональности является хорошей практикой.

...