Проблемы юзабилити при заполнении / сохранении формы в веб-приложении - PullRequest
2 голосов
/ 27 февраля 2009

Я разрабатываю веб-приложение, которое используется внутри ипотечной компании. У нас были проблемы с людьми, которые заполняли форму во время разговора с клиентом и затем щелкали по экрану, прежде чем нажать «Сохранить», теряя при этом свои данные (они могли просто нажать «Назад», но они никогда не думали об этом).

Первым «решением» наших пользователей было попросить нас автоматически сохранять данные после каждого изменения поля. Даже игнорируя очевидную проблему масштабируемости, мне кажется, что это полностью противоречит соглашению почти всех других веб-приложений на планете, где вы сохраняете при отправке формы (приложения Total-Ajax, такие как GMail, не учитываются, поскольку они целое «другое животное». Я ошибся? Или (опять же, игнорируя масштабируемость) вы считаете это разумным подходом?

Продолжая, наше реальное решение состояло в том, чтобы открыть старое "Вы уверены, что хотите отойти от этой страницы?" диалоговое окно, когда пользователь уходит от грязной формы. Теперь мы получаем жалобы на то, как устроен диалог. Большинство приложений говорят: «Вы хотите сохранить изменения», поэтому хороший вариант - это безопасный и безопасный вариант. Но с диалоговым окном навигации нажимать ОК - небезопасный, не сохраняющийся вариант. Наши пользователи, конечно, не читают диалоговое окно, они просто нажимают OK, и бум, они теряют свои изменения.

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

Какой, по вашему мнению, лучший маршрут здесь?

Ответы [ 5 ]

2 голосов
/ 27 февраля 2009

Как насчет сохранения этой клиентской стороны, например, в файлах cookie и предоставления кнопки, которая будет заполнять форму, используя эти последние сохраненные значения?

1 голос
/ 27 февраля 2009

почему бы не посмотреть, что делает StackOverflow, когда вы начинаете отвечать на вопрос и не отправляете его, а затем пытаетесь уйти. Я думаю, что с интерфейсом все в порядке, как здесь.

Are you sure you want to navigate away from this page?
You have started writing an answer.
Press OK to continue, or Cancel to stay on the current page.

Если ваши пользователи НЕ читают всплывающее диалоговое окно и говорят «ОК», я мог бы подумать об этом во второй раз.

Your valuable edits will be LOST. 
Are you sure you want to navigate away from this page without saving?
Press OK to continue, or Cancel to stay on the current page.

Для пользователей, которые не могут освоить немного новый способ выполнения своей работы, боюсь, у меня нет решения.

1 голос
/ 27 февраля 2009

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

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

0 голосов
/ 27 февраля 2009

Я не решаюсь изменить это диалоговое окно, потому что (а) это стандартное диалоговое окно, генерируемое браузером, (б) я даже не уверен, как изменить диалоговое окно

(б) действительно, вы не можете.

О единственном обходном пути, который я могу придумать, если не считать итогового AJAX *, - это загрузка on [before], которая задает свой вопрос с помощью window.confirm (), и, если нажата OK, выталкивает данные для сохранения с синхронный запрос XMLHttpRequest перед возвратом из обработчика событий.

*: не так уж и плохо, AJAX - плохой путь, но может быть много работы, чтобы все приложение работало таким образом.

0 голосов
/ 27 февраля 2009

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

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