問い合わせフォーム等で、選択肢の選択に応じて、他の項目の表示非表示を切り替えたい、というケースがあると思います。
ありがちなケースとしては、
- 「資料請求」を選択したときのみ、「住所」欄を表示する
- 「既婚」を選択したときのみ、「子供の人数」欄を表示する
- 「その他」を選択したときのみ、「自由記入」欄を表示する
等が考えられます。アンケートフォームなら、こういった分岐がたくさんあるかもしれません。
このような場合、JavaScript(jquery等)を書けば実現できます。ウェブ制作会社が運用を行うのであれば、JavaScriptを書く、という方法でも構わないでしょう。しかし、企業のウェブ担当者に「JavaScriptを書け」というのはハードルが高いかもしれません。
なので、「JavaScriptを書かずにカスタマイズできる」ように、noviusos_formの改善を提案しました。
フォーム作成画面で条件指定
フォーム作成画面で、条件を指定できるようにします。
条件指定を有効にするかどうか
条件判定のフィールド名
条件判定の値
を設定します。上の画像の例だと、「radio_1」フィールドの値が「Other」のとき、このフィールドが表示されるようになります。
実際の表示
実際にフォームを表示した画面です。
Otherを選択したときの画面です。
CMS同梱フォームを改善する
フォーム等で、選択肢の選択に応じて、次の項目の表示非表示を切り替える、という機能は便利だと思います。CMS本体で既に対応していることもあるかもしれません。では、もし対応していなかった場合はどうでしょうか。
一つの方法としては、自作のプラグイン/アドオンを作成して公開する、というやり方があります。WordPressだと、条件分岐機能付きフォームプラグインがいくつか配布されています。これらのプラグインを利用する場合、プラグイン開発者がメンテナンスしている間は良いですが、何かの都合でメンテナンスできなくなった場合に困るかもしれません。WordPressの場合は、各自が好き勝手にプラグインを作る、プラグイン作者がやめたら別の人がメンテナンスする、といった形でプラグインのメンテナンスが継続されています。この運用方式は、WordPressのようにコミュニティの層が厚い場合は上手くいきそうです。しかし、人的リソースが潤沢ではないプロダクトでは、この方式はリスクが高そうです。
他の方法としては、CMS標準同梱のプログラムを改善する、というやり方があります。Novius OSにはnoviusos_formというフォームプログラムが同梱されています。このプログラムを改良していく場合、自分一人で作るのではなく、相談したり議論したりして進めていくことになるでしょう。自分の好きなようにプラグインを作りたい人には向いていない方法だと思われます。しかし、特定の個人に依存しないで開発が行われるほうが、開発の継続性の面では安心できるでしょう。
ホームページ作成ソフトconcrete5では、マイ見積が条件分岐フォーム対応しています。