2024.05.06
OSS
モバイルフレンドリーなイメージビューワー SmartPhoto.js の利用方法
フォーム送信時にフォームの内容をローカルストレージに自動で保存し、再度そのフォームに訪れた際にストレージからデータを復元するためのJavaScript、FormStorageをリリースしました。
同じフォームの送信内容の復元はもちろんのこと、別のフォームでもローカルストレージのデータの使い回しができるのが特徴です。
https://appleple.github.io/form-storage/では、簡単に英語で利用方法が解説されていますが、こちらでは日本語でしっかり解説します。
See the Pen FormStorage.js デモ by appleple (@appleple) on CodePen.
<script src="https://unpkg.com/form-storage@latest/build/form-storage.min.js"></script>
<form class="js-form-storage">
  <input type="text" name="first-name" />
  <input type="text" name="last-name" />
  <input type="email" name="email" />
  <input type="password" name="password" />
  <label>
    <input type="checkbox" class="js-persist" />
    Allow to store the form-data to the localstorage.
  </label>
</form>window.addEventListener('DOMContentLoaded', function(){
  new FormStorage('.js-form-storage', {
    name: 'form-storage', //localstorage name
    ignores: [ // 無視する要素のセレクター
      '[type="password"]'
    ],
    checkbox: '.js-persist' //ここのセレクターがチェックされている場合にフォームのデータを保存
  });
});FormStorageにはその他いくつかのオプションが用意されています。
| オプション名 | デフォルト値 | 説明 | 
|---|---|---|
| name | 'form' | 保存するローカルストレージ名 | 
| ignores | [] | 無視するセレクターの配列。ここに設定されたセレクター群はローカルストレージに保存されず、復元されません。 | 
| includes | [] | 含めるセレクターの配列。ここに指定されたセレクター群のみローカルストレージに保存され、復元されます。 | 
| checkbox | null | チェックボックスのセレクター、ここでチェックボックスのセレクターが指定されていると、チェックがある場合のみ、ローカルストレージに保存されます。 | 
FormStorageではインスタンスよりいくつかのメソッドを実行することができます。
下はそのメソッドの実行例です。
const formstrage = new FormStorage('.js-form-storage');
formstorage.save(); //現在のフォームの状態を保存します。
formstorage.apply(); //保存したフォームの状態を復元します。
formstorage.clear(); //保存したフォームの状態を削除します。ダウンロードはこちらから行えます。
ダウンロード
もしくは、npm、yarnを使ったインストールが可能です。
npm install form-storage --saveyarn add form-storagenpmでのインストール後は、BrowserifyやWebpackなどのbundleツールを使ったrequireも可能です。
const FormStorage = require('form-storage');Babelをお使いの方はimportもご利用いただけます。
import FormStorage from 'form-storage';