Строение большой формы, нужен совет - PullRequest
0 голосов
/ 04 марта 2009

Я должен создать большую форму для пользователей, чтобы заполнить ее, чтобы подать заявку на обучение в колледже, в котором я работаю. Будет собрано большое количество информации (несколько адресов, личная информация, деловая информация, информация о прошлой школе, опыт и т. Д.), И я хочу знать, как лучше всего справиться со всем этим. Я собираюсь использовать PHP и Javascript.

Существуют ли какие-либо помощники или части фреймворков, которые я могу использовать для создания / проверки формы, что я могу просто добавить в свой существующий проект?

Также хотелось бы получить любой совет относительно отслеживания большой формы и полученных данных.

Ответы [ 5 ]

5 голосов
/ 04 марта 2009

Вам нужно использовать несколько страниц, и вам нужно включить механизм, с помощью которого пользователи могут выйти, а затем вернуться и заполнить оставшуюся часть формы (или, если они случайно отключены). В противном случае у вас возникнут всевозможные проблемы с пользователями, не из-за вашего обслуживания, а потому, что они используют ненадежные компьютеры и интернет-соединения и т. Д.

Программное обеспечение для опросов, вероятно, является разумным приближением к тому, что вы делаете, и для большинства PHP CMS существуют пакеты для опросов. Вы строите это с нуля, или у вас есть существующая CMS?

-Adam

3 голосов
/ 04 марта 2009

Несколько советов, не зная всей специфики вашей формы:

Не показывайте пользователю все сразу - это может быть достигнуто несколькими страницами или выборочно отображать / скрывать элементы в форме по мере ее прохождения пользователем. Предоставьте контекстную навигацию, в которой написано «Вы находитесь на шаге 3 из 10», чтобы пользователь мог понять, где они находятся в форме и сколько усилий требуется для ее завершения.

Обеспечение механизма сохранения и возврата позже - фантастическая идея. Если возможно, предоставьте ссылку на выбранную ими учетную запись электронной почты - вы хотите, чтобы этот компонент был как можно более простым в использовании, и требование, чтобы они указали дополнительное имя пользователя / пароль для получения своих данных, является еще одним препятствием для завершения.

Проси только то, что тебе абсолютно необходимо. Да, вам придется сражаться здесь в нескольких политических битвах - каждый хочет столько, сколько он может получить. Один из способов борьбы с этим (особенно эффективный, когда у вас есть давление со стороны нескольких групп) - это создать несколько прототипов: 1 с ВСЕМ, а другой с несколькими разделами, уменьшенными или удаленными. Попросите заинтересованные стороны из каждой группы заполнить оба из них и измерить их время до завершения или доходность откатки. Когда у вас есть данные о завершении, и они понимают, сколько запрашивает каждая другая группа (в дополнение к своей группе), с ними легче работать. Короче, удалите как можно больше - позвольте пользователю вернуться позже, чтобы предоставить более подробную информацию, если он пожелает.

Запишите все свои данные в учетные карточки и посмотрите, как они логически сочетаются друг с другом. Чаще всего вы найдете более эффективные группировки или заказы. Скорее всего, у вас появятся гораздо более полезные идеи. Это чрезвычайно важно при преобразовании бумажных форм в онлайн-формы. Usability.gov имеет фантастический пример на эту тему.

0 голосов
/ 04 марта 2009

Вы можете добавить проверку формы Javascript, чтобы сделать ее более удобной для пользователя, но вы никогда не должны экономить на проверке на стороне сервера ... которая исторически была ужасна в PHP.

Одна вещь, которая сделает вашу жизнь в миллион раз проще, - это библиотека фильтров , особенно filter_input_array(), поскольку вы можете создать проверку ввода программно, вместо того, чтобы копировать и вставлять много проверок , Требуется некоторое привыкание, но это намного, намного лучше, чем старый способ делать вещи.

0 голосов
/ 04 марта 2009

Хорошо, я согласен с Адамом, но у меня есть несколько советов для вас.

На вашем месте я бы создал несколько виртуальных скрытых вкладок, состоящих из нескольких форм, с помощью следующей кнопки. Вы можете создать некоторые из них, которые могут управлять с помощью JavaScript. Сначала покажите первый, который будет собирать личную информацию, такую ​​как имя, день рождения, адрес электронной почты и т. Д. Как только пользователь заполнил их и нажал следующую кнопку, спрятал это и показал другой, который будет запрашивать другую информацию, такую ​​как адрес и т. Д.

Как только закончилось все погружение, на последнем div поместите кнопку отправки, которая сразу отправит всю информацию на сервер.

К чему это так?

  1. Пользователь не будет шокирован, потому что не будет видеть длинную форму каждый раз и заполнит ее пациентом.

  2. Вы сразу попадаете на сервер, обычно университеты и серверы колледжа слишком заняты, вам лучше разработать форму, которая меньше всего попадет на сервер. Это может считаться подсказкой производительности.

  3. Поскольку вы будете отправлять все данные сразу, вас не будет беспокоить проблема, связанная с тем, что пользователь будет продолжать заполнять другие страницы, или нет, поэтому вы будете использовать меньше сеансов, которые все равно будут учитываться как совет по производительности .

  4. Этот способ делает вашу форму более интересной, и вы можете назвать, что вы сделали что-то вроде Ajax.

0 голосов
/ 04 марта 2009

У List Apart есть статья о построении разумных форм , которая хорошо читается

Почему форма должна быть большой в первом случае? Не могли бы вы урезать это до самого необходимого для учетной записи и предоставить им возможность вернуться позже, чтобы уточнить остальные детали?

Для проверки формы, попробуйте плагин проверки JQuery, Проверка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...