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

ФФ + Формы + Линукс = Дружба

Firefox
Для тех, кому в линуксе не все равно, как выглядят элементы форм (чекбоксы, радиобаттоны, кнопки, поля ввода и т.п.) в ФФ, идем по адресу ubuntuforums.org/showthread.php?t=369596
и скачиваем малюсенький патчик.Установка — 5 секунд и проблема с нативным отображением элементов решена! (Ну не совсем правда, см. ниже, но по любому лучше чем стандартные серые квадраты)
Фотки прилагаются.
Читать дальше →
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 632
Комментарии 7

Динамическое создание форм на основе данных из базы в Django

Django *
Началось всё с того что надо было часто создавать однотипные формы и сохранять введённые данные в базу. По суте форма всегда одна и та же — «Заявка на регистрацию» — но в зависимости от мероприятия поля в ней разные.

Обязанности подготовки формы надо было переложить на администратора сайта, поэтому было принято решение создать механизм управления формами через админский интерфейс Django. Так появилось приложение CDBForms.
Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 7.9K
Комментарии 9

Почти автоматический ответ на тест на платформе GoogleDocs

IT-компании
Недавно я написал топик, в котором поделился с сообществом моей идеей, как реализовать тест (в моем примере психологический тест по соционике) на платформе GooglDocs.
Если честно, я был поражен популярностью топика — на мой тест ответило уже более 1000 человек, и что еще более удивительно, ответы до сих пор идут по 20-30 в день.

Данную стать я пишу в своем блоге, чтобы поделиться с вами тем, как я шел к тому, чтобы сделать полу-автоматический ответ на тесты на платформе GoogleDocs

Читать дальше →
Всего голосов 32: ↑32 и ↓0 +32
Просмотры 777
Комментарии 14

Формы для людей

Интерфейсы *
Сейчас мы с вами поговорим о веб-формах. Я с высоты собственного невысокого полета успел накопить кое-какой опыт и жажду непременно им поделится. Все о чем пойдет речь ниже не является черепахой на которой стоят слоны. Речь пойдет о скотче на котором держится черепаха.

Итак…

Первое – Откуда ноги?


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

Подробности небольшого расследования
Всего голосов 111: ↑99 и ↓12 +87
Просмотры 2.9K
Комментарии 37

Используем Python для обработки HTML форм

Чулан
Когда я только начинал пользоваться django, самым приятным моментом после ORM, для меня, был пакет django.forms. Теперь django в прошлом — я использую стэк Werkzeug + SqlAlchemy + Jinja2, а иногда даже пытаюсь вместо SqlAlchemy экспериментировать с нереляционными хранилищами данных. Но вот замену django.forms я так и не нашёл. Поэтому решил набросать по-быстренькому что-нибудь своё.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 4K
Комментарии 4

Автоматизация написания ajax-обработчиков форм

Чулан
Речь пойдёт о небольшом упрощении реализации доступного AJAX front-end’а. Говоря о доступности, подразумевается, что имеется 2 версии приложения для пользователей с AJAX и без оного.

Разрабатывая приложения, которые подразумевают взаимодействие с помощью AJAX, есть несколько моментов, которые очень сильно отвлекают, так что хотелось бы упростить их. В частности, при создании форм для таких приложений достаточно скучно каждый раз описывать в форме onsubmit=«mysuperfunction(…);», хотелось бы данный процесс автоматизировать. Так же хотелось бы использовать паттерн MVC для разработки в JS.

Идея подхода, использовать значение атрибута action для вызова JS-методов.

Подробнее
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 521
Комментарии 6

vCard и упрощение заполнения форм

Чулан
Регистрация на сайте — процесс довольно долгий и напрягающий пользователя. Все стараются ускорить его и сделать максимально простым. Но вводить в данные в поля все равно приходится, и от этого никуда не денешься.

Раздумывая над этим, в один прекрасный вечер, появилась идея, как, с помощью vCard и пары скриптов, можно упростить эту процедуру.
Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 2.4K
Комментарии 12

Создание HTML формы при помощи web-интерфейса

Чулан

Применяющиеся термины


HTML — Он же XHTML, язык разметки гипертекста, для создания веб-страниц, интерпретируется браузером и отображается в виде документа, в удобной для человека форме.
FORM — Тег <FОRM> устанавливает форму на веб-странице. Форма предназначена для обмена данными между пользователем и сервером. Область применения форм не ограничена отправкой данных на сервер, с помощью клиентских скриптов можно получить доступ к любому элементу формы, изменять его и применять по своему усмотрению.

Превью


В ближайшее время, отведенное Вами на прочитку данного топика, я познакомлю Вас с сервисом предлагающим автоматическое создание исходного кода различного вида форм, для Вашего ресурса. Будь то: обратная связь, корзина, баг трэкер, и многое другое. В том числе имеется возможность создания своей формы, не по шаблонному макету. Сервис имеет статус: freeware, но даже в этом режиме он предоставляет его пользователям все возможности, которые требуются для Вас! Имеется определенное количество стилей, некоторые из них Вы сможете увидеть в следующем разделе. Для полноценного использования сервиса, от Вас потребуется всего лишь регистрация, не требуемая активации через почтовый адрес. Все данные отправленные пользователями при помощи созданной Вами формой, будут отправлены Вам на почтовый адрес, указанный Вами в настройках формы (см. раздел «Панели»).
Читать дальше →
Всего голосов 26: ↑14 и ↓12 +2
Просмотры 759
Комментарии 23

Настройка максимального размера файла загрузки через HTML форму

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

Для серверов Apache с установленным на них PHP можно ограничить такой процесс 2мя способоми:
  1. ограничить закачку файла настройками самого PHP
  2. ограничить закачку файла используя механизмы отправки запроса формы на сервер (только методом POST)
Если первый вариант вполне распространен среди администраторов и программистов, то второй, более простой (даже можно сказать пользовательский) — не очень популярен.

Мне бы хотелось рассмотреть именно его.
Читать дальше →
Всего голосов 19: ↑6 и ↓13 -7
Просмотры 8.1K
Комментарии 47

Контролы форм в html 5

Opera
Честно говоря, я сначала хотел сделать обзор, как современные браузеры поддерживают всякие новые контролы для форм из спецификации html 5. Но похоже обзора не выйдет — единственный браузер, поддерживающий больше двух контролов — Опера.

Я накидал очень простенькую страничку, куда поместил кучу input'ов с неведомыми мне доселе значениями свойства type и получил такой результат:
Читать дальше →
Всего голосов 90: ↑86 и ↓4 +82
Просмотры 4.6K
Комментарии 82

jQuery плагин для получения данных формы + ajax аплоадер файлов

jQuery *
imageДоброго времени суток, уважаемое Хабросообщество! Не пытаясь скрыть легкое волнение, публикую свой первый пост, темой которого стал мой скромный jQuery-велосипед для быстрого и безболезненного сбора данных, введенных пользователем на странице (сразу небольшая оговорка для тех, кто закричит — «ату его! Зачем еще один подобный плагин?», отвечу: во-первых — а быть может именно это кто-то из хаброчитателей и искал, во-вторых — для саморазвития, в-третьх: для собственного удобства и безболезненного использования в своих програмных продуктах).

Итак, помимо, собственно моего небольшого плагина, нам понадобится сам jQuery последней версии, а так же небольшой плагин к нему, реализующий преобразование объектов\массивов в json-строку, для того, чтобы полученные данные можно было быстренько передавать на сервер.
updated

updated 2 — добавлена мультизагрузка!
Смотрим далее
Всего голосов 71: ↑66 и ↓5 +61
Просмотры 19K
Комментарии 98

Работа с формами в Django

Django *
Перевод
image

Формы являются одной из самых вкусных вещей в Django (после моделей, админки, url-маршрутизации и т.д.). Перед вами небольшое, но ёмкое руководство по их использованию, представляющее собой разбор 8 часто встречающихся ситуаций при программировании форм.

  • Задача. Проверка и отображение простейшей формы.
    Copy Source | Copy HTML<br/>class UserForm(forms.Form):<br/>    username = forms.CharField()<br/>    joined_on = forms.DateField() <br/>

    Этот код отвечает за отображение двух текстовых полей, за данные, которые содержатся в них, а так же за корректность введенной даты.

Читать дальше →
Всего голосов 44: ↑39 и ↓5 +34
Просмотры 37K
Комментарии 33

Обязательные поля при регистрации

Веб-дизайн *
Разрабатывая интерфейс для очередного сайта, основной аудиторией которого будут люди не очень продвинутые технически, я задумался над вопросом об обязательных для регистрации полях и минимизации их количества.

В голову пришли следующие варианты:

0 полей: при загрузке страницы незалогиненный пользователь получает сгенеренный аккаунт, который ему предлагают использовать, вот еще один пример такого подхода.
— удобно для узкоспециализированных задач и мне не подходит. По функционалу уже недалеко от куки, если бы не привязанность последних к конкретному хранилищу в браузере или по :)

1 поле: email
Пользователь оставляет email, id создается автоматически, на email он получает пароль, авторизация либо по ID либо по email, username задается пользователем уже в профиле

+ Черт, это все таки одно поле! По умолчанию может быть сгенерен устойчивый к перебору пароль.
± username свободно меняются, и могут оставаться пустыми. Учитывать пользователей по айдишникам мне не хочется
— ЧПУ приобретают вид ufosite.nl/users/18567, скорее всего пользователь захочет сменить свой пароль. При ЧПУ вида ufosite.nl/users/customusername наступает ад для поисковиков. Строить ЧПУ на основе email, который, к тому же, далеко не все захотят публиковать — это подарок спамерам и ЧПУ становятся не совсем ЧПУ.

Читать дальше →
Всего голосов 39: ↑23 и ↓16 +7
Просмотры 6.1K
Комментарии 82

Оформляем формы

Django *
У форм в Django есть несколько предопределенных методов as_p(), as_table() и as_ul(), которые отображают форму как набор параграфов, таблицу или список. На практике этих методов не всегда достаточно, чтобы формы выглядели так, как нам хочется.

Допустим, верстальщик сверстал все формы div-ами. Документация предлагает в этом случае писать нужные теги в ручную в шаблоне. Если форма у нас только одна, можно поступить и так. Если форм несколько, то этот подход сразу же теряет все свое очарование. Решение очень простое — пронаследуем наш собственный класс форм от forms.Form или forms.ModelForm и обучим его рисовать формы так, как нужно нам.
Читать дальше →
Всего голосов 51: ↑41 и ↓10 +31
Просмотры 18K
Комментарии 25

Снова про формы: значения по умолчанию

jQuery *
jQuery дает практически безграничные возможности по обогащению пользовательского интерфейса, а самое интересное зачастую связано с элементами управления на страницах, в частности с формами.

Современные интерфейсы часто стремятся к минимализму. При изяществе дизайна, вэб-технологи стремятся к изяществу решений, принимаемых в процессе реализации. Я часто занимаюсь разработкой интерфейсов, версткой и клиентским программированием — и постоянно ищу новые решения для старых задач.

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

Читать дальше →
Всего голосов 85: ↑60 и ↓25 +35
Просмотры 10K
Комментарии 68

Получаем Object из формы

JavaScript *

Задача


При помощи javascript'а получить объект, содержащий данные формы. Набор полей и свойств должен задаваться разметкой формы. Зачем — чтоб из этого объекта получить json, xml, да и мало ли еще применений можно найти.
решение
Всего голосов 59: ↑49 и ↓10 +39
Просмотры 12K
Комментарии 46

Валидация формы в Firefox 4, используя возможности HTML5

Разработка веб-сайтов *
Перевод
Спецификация HTML5 предоставляет нам несколько новых типов полей, атрибутов и других полезных функций для форм. Одна из наиболее интересных функций — это валидация формы со стороны браузера.

К сожалению еще не все браузеры поддерживают эти возможности и поэтому мы попытались сосредоточиться на использовании этих возможностей в Firefox 4.


Почему валидация формы со стороны браузера?


Идея валидации формы в HTML5 состоит в том, чтобы отказаться от использования JavaScript при проверке содержания полей: действительно ли этот адрес электронной почты допустим? заполнено ли это поле? соответствуют ли пароли? Раньше в большинстве случаев для этих целей использовался JavaScript. Вы можете написать свой собственный javascript-код или воспользоваться javascript-библиотекой, но это всегда будет повторной, скучной и подверженной ошибкам задачей. С формами, проверенными браузером, Вы больше не должны заботиться о этих задачах, достаточно записать простой HTML.
Читать дальше →
Всего голосов 59: ↑54 и ↓5 +49
Просмотры 5.6K
Комментарии 42

Django — обработка ошибок в ajax-формах

Django *
Hello everyone!

Все мы знаем что Django — очень мощный и динамично развивающийся фреймворк для создания веб-приложений. Однако, несмотря на наступление эпохи Веб 2.0, в нём всё ещё нет встроенных механизмов для работы с AJAX, в частности отправки и проверки форм. Возможно django просто не хочет навязывать пользователю какой-то js-фреймворк и хочет оставаться гибкой в этом вопросе, но так или иначе при разработке часто требуются формы, работающие через ajax, без перезагрузок страниц.
О создании таких форм и работе с ними и пойдёт речь в данной статье.

Сразу оговорюсь, что идея не нова, и существует несколько библиотек, реализующих требуемую функциональность, например одна из них — http://www.dajaxproject.com/.
Для тех же, кто предпочитает сам управлять взаимодействием клиента с сервером или тех, кто не хочет втягивать в проект дополнительную библиотеку и иметь дело с её багами, я расскажу как изобрести велосипед реализовать механизм самостоятельно и опишу различные способы решения проблемы.
Читать дальше →
Всего голосов 39: ↑34 и ↓5 +29
Просмотры 15K
Комментарии 38

Плагин для «живых» форм

jQuery *
Из песочницы
Статья посвящена плагину, который упрощающает жизнь client-side программиста.

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

И что дальше

Часто такая логика остается без реализации, однако если вы заботитесь о своих пользователях, то делать это нужно.

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

Второй подход это писать «портянки» javascript'а который всю эту логику реализует на стороне клиента. Особенно грустно писать «каскадную» логику типа «если ввели a в поле A, показать B, если ввели c в поле B, то показать D. Если в A ввели что-то другое, спрятать B, а потом D».

Оба варианта нельзя назвать удобными. Прежде всего потому что логика реализуется императивным стилем вместо уместного для таких случаев декларативного. Но выход есть!
Читать дальше →
Всего голосов 114: ↑112 и ↓2 +110
Просмотры 15K
Комментарии 67

Нескучные формы

Интерфейсы *
Из песочницы
Формы — это обычно такие скучные элементы интерфейса, которые никто не любит заполнять. Особенно если на них много полей ввода — тогда просто рябит в глазах от обилия рамочек.

Давайте взглянем на пример. Я специально не буду брать какой-нибудь страшный экземпляр «дизайнерской» работы, а возьму в качестве примера форму регистрации со стандартными полями ввода от Микрософта:

image

Как сделать ее интереснее и приятнее для глаз
Всего голосов 96: ↑37 и ↓59 -22
Просмотры 1K
Комментарии 53