Noupe Editorial Team March 9th, 2009

Beautiful Forms – Design, Style, & make it work with PHP & Ajax

Forms needs a solid visual structure, a profound hierarchy of form elements (Fields and Labels), powerful techniques and Functionality (AJAX) to make the form look and work creatively. There is a great bunch of creative, outstanding and individually designed from scratch forms. Thanks to AJAX, we can provide real-time feedback to our users using server-side validation scripts and eliminate the need for redundant validation functions and processing data. Today we wanted to share with you some great steps to get the perfect form: we will go through designing and usability you need to keep in mind, styling your form, spicing it up with some nice javascript effects, validating user's input and finally getting it to work using PHP and Ajax.

1. Designing & Planning out your Form

Fancy Form Design Using CSS
A very useful CSS tutorial for making fancy forms with good usability.

beautiful forms

Web Application Form Design
Read these guidelines to help you better position a form for your specific purpose, the combination of layout, visual elements, and content that’s right for you should still be verified through user testing or data analysis (completion rates, errors, etc.).

beautiful forms

Web Form Design Patterns: Sign-Up Forms
A very interesting analysis of 100 popular web-sites where web-forms (should) matter. The second part of this analysis can be found here.

beautiful forms

Sensible Forms: A Form Usability Checklist
Follow these guidelines, and you’ll be off to a good start for creating sensible forms by using a form usability checklist.

2. Styling Beautiful Forms

How to create perfect form markup and style it with CSS
This post will explain different choices when marking up the forms, and the CSS styling involved in making them cross-browser compatible. Check out the vertical layout the horizontal layout
Justify elements using jQuery and CSS
Justify elements using jQuery and CSS by calculating the width of a largest label and apply it to all labels. The jQuery function below does exactly this:
$(document).ready(function() {
    var max = 0;
    $("label").each(function(){
        if ($(this).width() > max)
            max = $(this).width();   
    });
    $("label").width(max);
});

beautiful forms

CSSG Forms Collection
5 uniquely designed and coded web form styles.

beautiful forms

Check out the demo here
FORM elements design using CSS and list (ul and dl)
Tables are useful to design complex HTML forms but a good alternative is to use list elements and CSS. This post will explain another way to design FORM using list elements <ul> and <li>.

beautiful forms

XHTML/CSS web forms: 5 simple techniques
This post explains 5 simple techniques for creating web forms.

beautiful forms

Niceforms
Niceforms is a script that will replace the most commonly used form elements with custom designed ones. You can either use the default theme that is provided or you can even develop your own look with minimal effort.

beautiful forms

Check out the demo here

2. Spicing up your Form

Changing Form Input Styles on Focus with jQuery
This tutorial will show you how to spice your form up with CSS classes and default values that change according to which form item is selected. All with just a splash of jQuery.

beautiful forms

Check out the demo here
Form field hints with CSS and JavaScript
This tutorial will show you how to get a nice effect, as you tab through each input field, some helper text appears in box out to the right.

beautiful forms

Check out the demo here
Context highlighting using jQuery
Learn how you can easily improve the user experience by highlighting the current context to enable users to focus only on a current action.

beautiful forms

Check out the demo here
Improve form usability with auto messages
This tutorial explains how to improve form usability adding an auto message which appears and disappears with a nice fade-in and fade-out effect when an user select a field.

beautiful forms

STYLING FILE INPUTS WITH CSS AND THE DOM
File inputs (<input type="file" />) are the bane of beautiful form design. This simple, three-part progressive enhancement provides the markup, CSS, and JavaScript to address the long-standing irritation.

beautiful forms

Check out the demo here
Show/hide a nice Login Panel using Mootools 1.2
In this tutorial, we will see how to create a sliding login/signup panel for your website using Mootools 1.2.

beautiful forms

FancyForm
FancyForm is a powerful checkbox replacement script used to provide the ultimate flexibility in changing the appearance and function of HTML form elements. It's accessible, easy to use and degrades gracefully on all older, non-supporting browsers.

beautiful forms

Check out the demo here

Validating Forms

Validation Hints for your form
As someone is typing an in an input field, it would be nice give feedback to the user as they are typing if they have satisfied that field's validation criteria. This article will explain one way of achieving this effect using JavaScript and CSS.

beautiful forms

Form.Check
A mootools script that allows you to validate different form fields before submission, Validation include: On leave a field & On submit the form. The message is displayed over the field, only one tip at once, tips don't flash on submit if errors remain with the ability to close tips.

beautiful forms

fValidator
fValidator is an open source (free) unobtrusive javascript tool for easy handling form validation. Here's a brief list of the most important features: Works perfect with iMask as it's complement, Multiple forms per page supported, Number of verified fields is not limited, Number of filters per field is not limited.
Validate
Validate is a mootools form validator script, having the following features: optional onFail function, optional onSuccess function which will overide the form submition, this can be used to validate an ajax form, onBlur validating, shows errors next to item or in a list.

beautiful forms

Check out the demo here

PHP & Ajaxifing Forms

ProtoForm
ProtoFormClass is a Prototype class that allows you to very easily validate the forms fields and send data in ajax. Features include: 1) Check required fields (input, textarea, radio, select, checkbox) and validate Email, Date, Telephone number and Url. 2) Send data and show response with Ajax, highlight the form field on focus and on error. 3) Lightweight (only 4KB), unobtrusive and cross-browser (tested on Firefox, Opera, Safari, Internet Explorer 6/7) 4) allows you to validate more form on the same page.

beautiful forms

Check out the demo here
Submit A Form Without Page Refresh using jQuery
In this tutorial you will learn how to submit a contact form that sends an email, without page refresh using jQuery! (The actual email is sent with a php script that processes in the background).

beautiful forms

Check out the demo here
LightForm ::: Free Ajax/PHP Contact Form
LightForm is a free Ajax/PHP contact form. It combines FormCheck2 for fields validation and NiceForms to style text fields and textareas.

beautiful forms

Check out the demo here
Autosuggest / Autocomplete with Ajax
The AutoSuggest class adds a pulldown menu of suggested values to a text field. The user can either click directly on a suggestion to enter it into the field, or navigate the list using the up and down arrow keys, selecting a value using the enter key. The values for the suggestion list are to provided as XML, or as JSON (by a PHP script, or similar).

beautiful forms

Check out the demo here

Noupe Editorial Team

The jungle is alive: Be it a collaboration between two or more authors or an article by an author not contributing regularly. In these cases you find the Noupe Editorial Team as the ones who made it. Guest authors get their own little bio boxes below the article, so watch out for these.

102 comments

  1. Very good list of resources here! Forms are a very important but often neglected point of a website.
    I might use some of them in my newly created “digg-like site for WordPress” http://wpvote.com !
    Cheers Noura!

  2. Another great list!

    This is one of my remaining tasks for the work I have been doing to customize/design my blog. I think a big challenge for someone like me is that I have zero training in any of this stuff. I have truly been “flyin by the seat of my pants”. CSS remains my more elusive lesson.

    Cheers!

    Jeromy (AKA Hillbilly)

  3. This is a very useful article. I’m redesigning my site at the moment and was looking for inspiration on the contact form.

Leave a Reply

Your email address will not be published. Required fields are marked *