sqginfo / formcache
A simple jQuery form cache plugin.
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:JavaScript
This package is auto-updated.
Last update: 2024-10-22 20:40:08 UTC
README
A simple jQuery form cache plugin.
Getting started
Quick start
Three quick start options are available:
- Download the latest release.
- Clone the repository:
git clone https://github.com/sqginfo/formcache.git
. - Install with NPM:
npm install formcache
.
Installation
Include files:
<script src="/path/to/jquery.js"></script><!-- jQuery is required --> <script src="/path/to/formcache.js"></script>
Usage
Initializes with data-toggle="formcache"
attribute
<form data-toggle="formcache"></form>
Initializes with $.fn.formcache
method
<form id="form"></form>
$('#form').formcache()
Options
key
- Type:
String
|Number
- Default:
''
A special identification for the form cache, must be different to other forms in the same page.
By default, the form's index in the document will be used as the key
.
local
- Type:
Boolean
- Default:
true
Store cache in localStorage.
session
- Type:
Boolean
- Default:
true
Store cache in sessionStorage.
autoStore
- Type:
Boolean
- Default:
true
Update and store the cache automatically when a form control changed or before page unload.
maxAge
- Type:
Number
- Default:
undefined
set the stored time (in seconds) of the caches, just like the max-age
for cookie
.
By default, the session caches will be cleared when the browser closes, and the local caches will be stored all the time.
Notes:
- session caches still will be cleared when the browser closes.
- local caches still will be cleared when the browser caches clears.
controls
- Type:
Array
- Default:
[ 'select', 'textarea', 'input' ]
A jQuery selectors array. Defines the form controls which need to be cached.
Note: All file inputs will be ignored always by default.
Methods
getCache([index])
Get the default cache object or a special one.
Examples:
$().formcache('getCache')
$().formcache('getCache', 1)
getCaches()
Get all cache objects.
Examples:
$().formcache('getCaches')
setCache([index, ]data)
Override the default cache object or add a new one.
Examples:
$().formcache('setCache', {})
$().formcache('setCache', 1, {})
setCaches(data)
Override the old caches with new caches.
Examples:
$().formcache('setCaches', [{}])
$().formcache('setCaches', [{}, {}])
removeCache([index])
Remove the default cache object or a special one.
Examples:
$().formcache('removeCache')
$().formcache('removeCache', 1)
removeCaches()
Remove all cache objects.
Examples:
$().formcache('removeCaches')
outputCache([index])
Output the default cache object or a special one to the form.
The outputed cache object will be updated automatically when any form control changed.
Examples:
$().formcache('outputCache')
$().formcache('outputCache', 1)
serialize()
Serialize the form and return a cache object.
Examples:
var cache = $('form').formcache('serialize');
$('form').formcache('setCache', cache);
$('form').formcache('setCaches', [cache, cache]);
store()
Store all caches to sessionStorage or localStorage.
The plugin will do this automatically when a form control changed, or the window unloaded.
clear()
Clear all caches.
destroy()
Destroy the formcache instance, but keep the caches.
If you want to remove all caches, you can call clear
method first and then call this method.
Browser Support
- Chrome 31+
- Firefox 31+
- Internet Explorer 8+
- Opera 26+
- Safari 5.1+
- iOS Safari 7.1+
- Android Browser 4.1+
- Chrome for Android 39+
As a jQuery plugin, you can reference to the jQuery Browser Support.
License
Released under the MIT license.