概要

入力フォームの入力状態を最初の状態へ復元したり、全ての入力値をクリアします。

値の復元については、<input type="reset">でもある程度まで同じことが実現できます。

しかしこのクラスを使うと、以下の利点を得られます。

  • <form>で囲まれていない入力フォームについても、値の復元が可能です。
  • 画面表示時の状態(onload直後)ではなく、任意の時点へ復元することが可能です。
  • textareaの復元に対応しています。(Firefox)
  • NarrowDownSelectionList.jsの復元に対応しています。

仕様

値の復元/クリアに対応しているタグは次の通りです。

  • inputタグ
  • selectタグ
  • textareaタグ

ただし、inputタグのtypeが

  • file
  • hidden
  • submit
  • reset
  • image
  • button

であるものについては、対応していません。これらのタグは単純に無視します。 そもそも値の復元が不可能であるか、値を復元/クリアする必要がないためです。

また、一つの画面で同時に2つ以上のFormResetterを使うことはできません。

メソッド

  • saveFormState: その時点でHTMLドキュメントに含まれるすべての入力項目をチェックし、入力されている値をセーブします。
  • revertFormState: 最後にsaveFormStateを実行した時点の状態へ、フォームの入力値を復元します。
  • clearFormState: フォームの入力値をクリアします。

サンプルコード

  1. <html>
  2. <head>
  3. <script src="./FormResetter.js"></script>
  4. </head>
  5. <body>
  6. テキストフィールド <input type="text" value="123" />
  7. <br />
  8. <br />
  9. チェックボックス <input type="checkbox" checked="checked" />
  10. <br />
  11. <br />
  12. <input type="radio" name="sample" checked="checked" />ラジオ1
  13. <input type="radio" name="sample" />ラジオ2
  14. <br />
  15. <br />
  16. リストボックス
  17. <select>
  18. <option></option>
  19. <option selected="selected">1</option>
  20. </select>
  21. <script>
  22. var formResetter = new FormResetter(document);
  23. // フォームの入力値を記録する。
  24. formResetter.saveFormState();
  25. </script>
  26. <br />
  27. <br />
  28. <input type="button" value="復元する" onclick="formResetter.revertFormState();" />
  29. <input type="button" value="クリア" onclick="formResetter.clearFormState();" />
  30. </body>
  31. </html>