Как стать автором
Обновить

Комментарии 27

Классический вариант (с возвратом всей формы пользователю назад) уж очень напоминает ритуал подачи документов сварливому бюрократу: «вы здесь забыли указать девичью фамилию. идите и переделывайте!». Но второй вариант — не самая лучшая идея.

Мне больше по душе формы удовлетворяющие двум принципам:

1. На форме минимум обязательных полей. Ну нафига сайту Делла на скриншоте позарез нужен мой номер телефона? Настолько нужен, что они даже заказ у меня не примут пока я не сознаюсь. И ведь и они и я знают, что мне никто звонить и не собирается.

2. Форма имеет валидацию в браузере. Сразу видно где я налажал при заполнении. Будет ли валидация на сервере (я то знаю, что она должна быть) — меня как клиента не волнует.
Номер телефона клиента требует служба доставки (UPS, FedEx и т.п)
Зачем он им не совсем понятно — все равно они бумажки на дверях оставляют (или открытку по обычной почте отправляют) когда никого нет дома а им нужна подпись.
Лучшим вариантом была бы валидация в реальном времени. При заполнении полей пользователь имел бы мгновенную обратную связь и мог бы исправить ошибку не меняя фокуса. Ему бы не пришлось возвращаться к какому-либо полю.
Кроме того для некоторых полей важен контекст. В таком случае он бы не терялся.
И неактивная кнопка «Отправить» пока все поля не заполнены правильно (с подсказкой рядом с кнопкой: «Возможно, не все обязательные поля заполнены правильно»).
Зачем «возможно...» если можно указать сколько обязательных полей осталось и какие, со ссылкой на первое незаполненное?
А я думаю лучший вариант — валидно заполненные поля надо делать бледными (вроде как заминусованные камменты на хабре), так и прогресс виден невооруженным глазом и если вдруг захочется поменять уже заполненное поле не придется как-то изголяться, как в варианте с пропадающими правильно заполненными полями.
Такой урезанный вариант формы обязательно должен иметь средство возврата к полной версии. Вдруг возникнет желание еще что-то до отправки формы проверить или исправить.
Под формой есть вся уже заполненная инфа, можно чтобы рядом с каждой строчкой при наведении появлялся «карандашик», при нажатии на который строчка превращалась бы в форму.
Имхо, самый удачный вариант — валидация на клиенте до отправки формы.
Не забывая после этого о валидации на серверной стороне.
да-да, ведь есть еще люди, отключающие js :)
Есть люди, специально отключающие JS :]
Вот таким можно возвращать форму с ошибками и «забледненными» верно заполненными полями.
Да. Например, у меня нет AdBlock, зато есть NoScript. Решает ту же задачу и много других :)
И хочется кому-то настучать по голове, когда меня вынуждают добавлять исключение ради какой-то хрени, прекрасно реализуемой без лишних скриптов и плагинов.
Ну, и это тоже.
А я про тех, кто умышленно обходит подобного рода фильтры и выходит за рамки ограничения данного пользователю функционала.
У нас один Junior программер от этого бесится.
Ему невдомек зачем отключать JS.
И ему жутко не нравится делать проверку в серверной части.
Видимо потому и Junior…
А зачем отключать JS, обрекая себя на кучу неудобств?
Например чтобы обойти проверки на стороне клиента…
Понятно, что проверка в серверной части должна быть. Но зачем люди отключают JS — мне все равно не понять
Чтобы его отключить.
Далеко не всем нужны его свистоперделки.
Вместе с его отключением решается проблема рекламы, сбора подробной статистики, эксплоитов в его реализациях и т.п.
Понимать не надо, нужно принять за данность что его отключают и работать с учетом этого.
И получают мёртвый, статичный Веб? Ок.
Даже Хабром пользоваться без JS ужасно неудобно
Теплый, ламповый, без рекламы, без отправки информации «налево»…
Хабром, кстати, пользоваться вполне нормально.
При необходимости можно выставить исключение для определенного сайта.
З.Ы.: Некоторые даже на Linux переходят и лишаются возможности запускать Windows ПО, лишь бы обезопасить себя и других от вирусов.
У меня постоянно по 20 вкладок открыто. А попутно еще дофига всего запущено. На компе это еще нормально, а на слабеньком нетбуке, когда в каждой из 20 вкладок крутится тяжелый JS, который мне реально не нужен, но почему-то оказался нужным разработчику сайта, работать уже становится сложно. А отключив JS замечаем чудо — имеем весь тот же функционал (изреда — почти тот же, чуть иначе реализован) но при этом комп уже не тормозит. После такого сложно понимать людей, которые не выключают JS. :-)

При этом реально он мне нужен на 3-5 сайтах — они в исключениях. А когда попадаю на случайный сайт («узнайте для каких 3 знаков зодиака 1012 год будет фатальным»), который по загадочной причине не хочет работать без JS — то без страданий просто перехожу на другой аналогичный. Сайтов в инете много, а ядра всего четыре.
Приведите пример сайта, на котором _постоянно_ крутится «тяжелый JS»? Как правило ведь, 99% JS-кода исполняется либо при открытии страницы, либо при каких-то событиях.
По уровню нагрузки я их, конечно, не мерил, но для примера:

1. gmail (да и, наверное, большинство AJAX'овских сайтов)
Периодически чекает новую почту как минимум. + еще gtalk там, которым обычно не пользуюсь, но если в настройках не отключить, то еще и он. Ну и плюс еще хрен знает что там гугль делает.

2. Мамба (love.mail.ru всякие и еще миллион сайтов этой сети).
Такое же периодическое чекание новых сообщений + крутится абсолютно ненужная мне «мордолента»

3. Под новый год, каждый второй сайт, где есть вебмастер-студент с навыками гугления и копипасты, начинает показывать скиллы этого админа и демонстрировать падающие снежинки. Тем самым заставляя задуматься, а не купить ли с новогодними скидками новый комп, а то этот уже не тянет одновременно пяток сайтов со снегом :-)
а может, стоит в момент потери фокуса элементом и при начале заполнения следующего валидировать то, что он написал. Если все правильно, то зрительно (!) превращать элемент формы в текст. При наведении мыша обратно — показывать как элемент редактирования…
Это отличная идея, спасибо!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории