項目を自在に設定できるアンケートライブラリ「Formbuilder.js」
Formbuilder.jsはJavaScript製のオープンソース・ソフトウェア(MIT License)です。
Googleスプレッドシートのアンケートフォーム作成機能は度々使われていますが、同じような仕組みを自分で作れるのがFormbuilder.jsです。JavaScriptを使って多様な入力項目を実現します。
[](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 16.09.16.1379214580.png)
アドレス入力。郵便番号から住所まで一気に入力できます。
[](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 16.09.48.1379214585.png)
単なるテキスト入力。
[](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 16.09.54.1379214589.png)
金額の入力。
[](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 16.10.02.1379214595.png)
複数行の入力。大きさも段階的に選べます。
[](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 16.10.21.1379214600.png)
ドロップダウン。デフォルト値も変更可能。
[](http://images.moongift.jp/2013/09/Screenshot 2013-09-14 16.11.45.1379214605.png)
設定項目はJSONになっています。
Formbuilder.jsでは管理画面を使って設定を行います。その結果はJSONなので、そのまま適用して再現が可能です。入力項目は日付、ファイル、チェックボックス、メールアドレス、URL、複数選択と十分に用意されています。イベントは保存実行時に取得可能で、後はそのデータを保存すれば良いだけです。仕組みも柔軟で使い勝手が良さそうです。
MOONGIFTはこう見る
この手のシステムをDBを使って自作しようと思うと質問/質問の項目、さらにその選択肢といった具合で複数のテーブルを用意しなければならないでしょう。さらにその結果の保存先も必要です。それがFormbuilder.jsを使うと一つのカラムにJSONを入れておくだけで済んでしまいます。これはかなりお手軽です。
柔軟な運用を実現するために管理するテーブルが増えると仕様変更の際にかえって足を引っ張るケースがあります。その項目を分析に使ったりしないのであれば、Formbuilder.jsのようにJSONでデータを保存しておくのは意外と良い選択肢なのかも知れませんね。