Как делать нельзя: проверка формы на сайте и блокирование кнопок
Есть вещи, которые нельзя делать, если вы не хотите потерять значительную часть посетителей. Даже если подобное вы видели на всяких крутых сайтах.
Например, нельзя блокировать кнопку (делать ее disabled), чтобы предотвратить отправку неправильно заполненной формы. Даже если вы совсем недавно научились отключать кнопочки. Даже если так делает ваш кумир. Это — порочная практика, подлежащая искоренению. И вот почему.
С кем мы имеем дело
Представьте себе магазин косметики или подарков. Такой, куда приходят не заядлые интернетчики, а простые люди. Не поклонники известных студий, не знатоки дизайнерских приемов, а весьма распространенные в наших краях менеджеры, бухгалтеры, секретари.
Например, Мария Ивановна, бухгалтер пока еще не разорившейся фирмы. На компьютере она работает с бухгалтерской программой, справочниками по законодательству, «Вордом», «Экселем» и пасьянсом-косынкою.
«Знак рубля» для нее — непонятная закорюка, означающая какую-то иностранную валюту с неизвестным курсом. Она знать не знает про Apple или Google.
У нее нет «Айпода», уютной жежешечки или аккаута на «Твиттере».
Зато есть деньги и желание купить, скажем, несколько баночек всяких масок, кремов и лосьонов. С деньгами и готовностью их потратить Мария Ивановна попала на сайт, где выбрала все, что хотела и жмет кнопку «отправить заказ».
Обыкновенная история
Поскольку Мария Ивановна на этом сайте впервые, ей предложено зарегистрироваться. Она честно вводит свое имя, фамилию, адрес электронной почты, пароль два раза, почтовый индекс, домашний адрес, телефон.
В одном из этих полей Мария Ивановна допустила опечатку. Мы не знаем, в каком именно. То ли в электронной почте вместо точки попала по запятой, то ли пароли у нее не совпали, то ли вовсе пропустила одно из обязательных полей. Мы этого не знаем. И пользователь тоже.
Закончив немного нудную процедуру заполнения анкеты, Мария Ивановна готова нажать на самую важную кнопку. Ее не смущает, что кнопочка выглядит какой-то бледной. Ей также неизвестно, что «продвинутые разработчики» отключают кнопку отправки, если не заполнены какие-то из обязательных полей.
Мария Ивановна щелкает кнопкой мыши. Никакой реакции. После трех или четырех безответных щелчков ее осеняет: «Наверное, тут что-то зависло или сломалось, такое у меня в бухгалтерской программе часто случается». Мария Ивановна уходит на соседний сайт. Или возвращается к табличке в «Экселе». Или собирает вещи и идет домой, потому что рабочий день закончился, а она и так полчаса потратила на то, чтобы набрать товары, заполнить форму и укликать мышь до смерти.
Все потому, что когда-то разработчик сайта решил сделать «как на том сайте» и откопал где-то пример скрипта.
Как правильно?
Надо показывать пользователю, какие именно поля не заполнены или заполнены неправильно. Эти поля нужно выделять, выводить сообщение рядом с ними или наверху формы. Заодно прокручивать страницу и перемещать курсор в самое верхнее из таких полей.
Пример такого решения, пусть и не идеальный, можно увидеть ниже, в форме отправки комментариев к этой заметке.
В идеале, сообщение об ошибке должно подсказывать пользователю способ решения данной проблемы. Когда поле будет заполнено верно, это тоже стоит показать. Например, сняв визуальное выделение с поля и заменив сообщение об ошибке на зеленую галочку.
Кстати, кнопку вполне можно стилизовать под отключенную. Ради дополнительной индикации и обучающего эффекта. Если выдерживать это правило на всех формах данного сайта, то через некоторое время постоянные посетители поймут, что она означает.
Но не стоит просто «дизаблить» кнопку без каких-либо дополнительных сообщений. Блокировка кнопки годится для предотвращения двойной отправки.

33 комментария