別のアンケート収集案件が始まってしまったので、小出しで覚書を投稿します。
今回の条件は、「回答に応じて表示するフィールドを必須にしたい」。
必須、というところがポイントです。
##条件
Q1がラジオボタン3択。
Q1でAを選んだ人だけに「Q2」を表示してさらに「必須」にしたい。
##作成方法
###フォームを作る
※Q2を必須にするのを忘れずに。
ここまでは簡単!超簡単。
ですが、これで送信しようとするとエラーが出ることがあります。
Q1でB、Cを答えた時です。
質問は見えないにも関わらず、
「必須なんだからQ2に入力しろよ!」とのメッセージが出てしまうわけですね。。。
質問はhiddenされてるのに。
さて、これはちょっと工夫しただけで解決ができましたのでさっそく答え合わせ。
##成功例
- Q2を非表示に
- Q1のAを選択した時にQ2を表示にする
- Q1の回答がAではない時(not equal to)、Q2に値を入れる。
⇒Q2はフォーム上は非表示だが、フィールドとしては存在しているので、今回は「回答対象外」と入れるようにしてみた。もちろん「-」などでもよい。
こうすることで、Q1でB、Cを選んだ人にはQ2を表示することなく、「必須」の条件も満たすことができます。
これで解決できました。