Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/filamentgroup/formcore

A set of forms.
https://github.com/filamentgroup/formcore

Last synced: 3 months ago
JSON representation

A set of forms.

Awesome Lists containing this project

README

        

:warning: This project is archived and the repository is no longer maintained.

formcore
========

[![npm version](https://badge.fury.io/js/formcore.svg)](https://badge.fury.io/js/formcore)
[![Build Status](https://img.shields.io/travis/filamentgroup/formcore/master.svg)](https://travis-ci.org/filamentgroup/formcore)
[![Dependency Status](https://david-dm.org/filamentgroup/formcore.svg?theme=shields.io)](https://david-dm.org/filamentgroup/formcore)

A set of forms.

* [Demo](https://filamentgroup.github.io/formcore/)

## Maxlength

The Maxlength component currently watches inputs and replaces returns with
`\r\n` to normalize behavior across browsers which count returns differently.

Credit to Keith Wood for his implementation which acted as inspiration:
http://keith-wood.name/maxlength.html

## Numeric Input

A number of features around normalizing the behavior of `` form fields. To start, add the `data-numeric-input` attribute to your `` element:

```html

```

Next, include the `js/numeric-input.js` and `js/numeric-input-init.js` files.

### Features

1. Suppresses non-numeric input into the form field, similar to how Chrome desktop behaves with ``. This will also prevent scientific or E notation from being entered into the form field (since `E` and `e` are alphabetic).
1. Works to enforce the `maxlength` attribute (also works with the number of digits on `max`)
1. Works around bugs with `` in Safari 6 and Firefox desktop (large numbers may be rounded or leading zeros may be truncated). In these browsers, the type is toggled to `text`.
1. `data-numeric-input-nav-disabled` attribute option: Prevent the up and down arrow keys from incrementing and decrementing the number value.

#### Manual Initialization

* Alternatively, if you don’t want to use our auto-initialization code (the `numeric-input-init.js` file, which relies on a global `enhance` event), you can manually initialize with `new NumericInput( element );` You’re on the hook to prevent duplicate initialization when doing this manually.