storage form
v2.0.1
storage-formデータをローカルストレージに送信できるWebコンポーネント。
デモ|さらに読む
一般的な使用例:
< script type =" module " src =" storage-form.js " > </ script >
< storage-form >
< form >
< label >
Example
< input type =" text " name =" example " value =" value " />
</ label >
< button > Submit </ button >
</ form >
</ storage-form >送信ボタンの代わりにchangeイベントで送信する例。ライト/ダークモードのユースケース:
< script type =" module " src =" storage-form.js " > </ script >
< storage-form >
< form >
< label >
< input type =" radio " name =" theme " value =" dark " />
< span > Dark mode </ span >
</ label >
< label >
< input type =" radio " name =" theme " value =" light " />
< span > Light mode </ span >
</ label >
< label >
< input type =" radio " name =" theme " value ="" checked />
< span > Default mode </ span >
</ label >
< br />
< label >
< input type =" hidden " name =" contrast " value />
< input type =" checkbox " name =" contrast " value =" true " />
< span > High contrast </ span >
</ label >
</ form >
</ storage-form > storageイベントに接続する例:
< script type =" module " src =" storage-form.js " > </ script >
< storage-form >
< form >
< label >
Update the
< code > output </ code >
by checking the box
< input type =" hidden " name =" output " value />
< input type =" checkbox " name =" output " value =" updated " />
</ label >
</ form >
</ storage-form >
< output > </ output >
< script >
const updatePage = ( ) => {
document . querySelector ( "output" ) . innerHTML = JSON . stringify (
window . localStorage
) ;
} ;
window . addEventListener ( "storage" , updatePage ) ;
updatePage ( ) ;
</ script > このWebコンポーネントを使用すると、次のことができます。
storageイベントを呼び出して、ページ上の他の場所に接続するchangeイベントにフォームを送信しますいくつかのオプションがあります(これらのいずれかを選択してください):
npm install @daviddarnes/storage-formプロジェクトに<script>を含めることを確認してください(これらのいずれかを選択してください)。
<!-- Host yourself -->
< script type =" module " src =" storage-form.js " > </ script > <!-- 3rd party CDN, not recommended for production use -->
< script
type =" module "
src =" https://www.unpkg.com/@daviddarnes/[email protected]/storage-form.js "
> </ script > <!-- 3rd party CDN, not recommended for production use -->
< script
type =" module "
src =" https://esm.sh/@daviddarnes/[email protected] "
> </ script > 次の人々に感謝します:
updateForm()メソッドのソリューションを提案したネイサンノウラー