⚠️ This project is archived and the repository is no longer maintained.
formcore
A set of forms.
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 <input type="number">
form fields. To start, add the data-numeric-input
attribute to your <input type="number">
element:
<input type="number" data-numeric-input>
Next, include the js/numeric-input.js
and js/numeric-input-init.js
files.
Features
- Suppresses non-numeric input into the form field, similar to how Chrome desktop behaves with
<input type="number">
. This will also prevent scientific or E notation from being entered into the form field (sinceE
ande
are alphabetic). - Works to enforce the
maxlength
attribute (also works with the number of digits onmax
) - Works around bugs with
<input type="number">
in Safari 6 and Firefox desktop (large numbers may be rounded or leading zeros may be truncated). In these browsers, the type is toggled totext
. 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 globalenhance
event), you can manually initialize withnew NumericInput( element );
You’re on the hook to prevent duplicate initialization when doing this manually.