html5Forms.js

Implements a subset of the HTML5 Forms module, including calendars, colour swatches, sliding widgets, client side validation and more.

226
28
JavaScript

HTML5Forms.js is a JavaScript polyfill that implements a subset of the HTML5
Forms module in all browsers. The script will only add support for the
different parts of the module when there doesn’t exist a native
implementation. HTML5Forms supports the following HTML5 input types:

  • range
  • date
  • datetime
  • datetime-local
  • week
  • color

It also supports:

  • form validation (via “required” and “pattern” attributes)

  • the autofocus attribute (i.e. focusing on a particular form element onload)

  • the placeholder attribute (i.e. descriptive text of what should be in a form
    field)

  • the output tag (solves equations of form elements)

  • CSS styling of form validation states (simulates :invalid and :valid in
    unsupported browsers like IE9 and lower)

  • CSS styling of form elements that are not included in the CSS3 UI
    specification, but I think are useful for developers:

    • .wf2_isBlank, .wf2_notBlank – these classes are applied to form field when
      a form element is blank/not blank repectively.
    • .wf2_lostFocus -this class is applied to a form element when a form field
      loses focus.
    • .wf2_submitAttempted – this class is applied to a
      tag when a form
      submission is attempted.

More information about how this works is available at:

http://www.useragentman.com/blog/2010/07/27/cross-browser-html5-forms-using-modernizr-webforms2-and-html5widgets/
http://www.useragentman.com/blog/2012/05/17/cross-browser-styling-of-html5-forms-even-in-older-browsers/

Note that this package was originally released in 2010 as html5Widgets,
and was renamed to a more accurate and descriptive name. Also note that
the version of webforms2 that is included in this package does not
include support for the depricated repetition module – it will be
put back in as a separate module at a later date.