メインコンテンツまでスキップ

条件分岐

入力内容に応じて、フォームの項目を出し分けたり、送信後の動きを変えたりできます。「お問い合わせ種別が『見積もり依頼』のときだけ予算欄を表示する」「法人を選んだときだけ営業部にメールを送る」といった使い分けができます。

条件は次の 3 か所で使えます。いずれも同じルールの作り方です。

適用先設定場所できること
項目の表示 / 非表示フィールド設定 → 各フィールドの「条件」タブ条件に一致したときだけ項目を表示する / 隠す
通知メールフォーム設定 → メールメールを送る / 送らない、宛先を変える
送信後のアクションフォーム設定 → 設定完了メッセージ・完了ページ・リダイレクト先を切り替える

項目の表示条件を設定する​

  1. フォーム編集画面の 「フィールド設定」 タブを開き、条件を付けたい項目を展開します
  2. 「条件」 タブを開きます
  3. 「他の項目の入力内容に応じてこの項目を表示 / 非表示にする」 にチェックを入れます
  4. 「表示 / 非表示」 と 「すべて / いずれか」 を選びます
  5. 「+ 条件を追加」 で条件を追加し、項目・演算子・値 を指定します
  6. フォームを保存します

設定すると、フロントでは入力に合わせてその場で表示が切り替わります。ページの再読み込みは必要ありません。

追加したばかりの項目を条件に使うとき

プルダウンやラジオボタンの 選択肢は、保存済みの内容から読み込まれます。同じ編集中に追加した項目を条件に使う場合、値の欄は選択式ではなくテキスト入力になります。一度フォームを保存すると、選択肢から選べるようになります。

条件の組み立て方​

すべて / いずれか​

  • すべて — 並べた条件が 全部 一致したときだけ成立します (AND)
  • いずれか — 並べた条件の どれか 1 つ でも一致すれば成立します (OR)

使える演算子​

選んだ項目の種類によって、使える演算子が変わります。

項目の種類使える演算子
プルダウン・ラジオボタン・チェックボックスが次と等しい / が次と等しくない / が空 / が空でない
数値が次と等しい / が次と等しくない / が次より大きい / が次以上 / が次より小さい / が次以下 / が空 / が空でない
同意 (acceptance)が空でない (= チェック済み) / が空 (= 未チェック)
その他の項目 (テキスト・メールアドレス・日付など)が次と等しい / が次と等しくない / が次を含む / が次を含まない / が次で始まる / が次で終わる / が空 / が空でない

判定の細かい動きは次のとおりです。

  • 「が次を含む」「が次で始まる」「が次で終わる」は大文字小文字を区別しません
  • 大小比較 (「が次より大きい」など) は、入力値と比較値の両方が数値のときだけ 成立します。数値でない場合は常に不成立です
  • チェックボックスのように複数選択できる項目では、選んだ項目のどれかが条件に当てはまれば成立 します。「が次と等しくない」は、選んだもののどれにも含まれないときに成立します
  • 「が空」は未入力のときだけ成立 します。0 を入力した場合は「空ではない」と判定されます

条件に使える項目・使えない項目​

条件の 判定材料 (ルールの左側で選ぶ項目) にできるのは、値を 1 つ持つ通常の項目です。次の項目は判定材料には選べません。

  • 住所・ファイルアップロード・HTML・カスタムメールタグ
  • フィールドグループ・リピーター (組の中の項目も選べません)
  • ページ区切り

一方、条件を付けられる側 (表示 / 非表示を切り替える項目) は、ページ区切り以外のすべての項目 です。フィールドグループとリピーターには、組ごと表示 / 非表示を切り替える条件を設定できます。

条件が連鎖する場合

条件で隠れている項目の値は 「空」 として扱われます。A の表示条件が B の入力に依存し、B 自身にも条件が付いている、といった連鎖も正しく処理されます。

非表示になった項目はどうなるか​

条件によって隠れている項目は、入力されなかったもの として扱われます。

  • 必須に設定していても、送信は止まりません
  • 値は 送信データとして保存されません
  • 確認画面・通知メール・CSV にも表示されません ({all_fields} からも除外されます)

この判定はブラウザ側だけでなく サーバー側でも再度行われます。そのため、ブラウザの開発ツールで項目を無理やり表示させて値を送っても、隠れているはずの項目の値は受け付けません。

条件で通知メールを出し分ける​

「フォーム設定」→「メール」 タブに、Pro の項目が追加されます。

送信条件​

管理者宛てメール・自動返信メールのそれぞれに 「送信条件」 があります。「以下の条件に一致したときだけこのメールを送信する」 にチェックを入れて条件を指定すると、一致しないときはそのメールを送りません。

例: 「お問い合わせ種別」が「資料請求」のときだけ自動返信を送る。

宛先の振り分け​

管理者宛てメールには 「宛先の振り分け」 もあります。入力内容に応じて、送信先を変えられます。

  1. 「+ 宛先ルールを追加」 をクリックします
  2. 条件を指定します
  3. 「宛先」 にメールアドレスを入力します (複数はカンマ区切り。{admin_email} タグでサイトの管理者アドレスを指定できます)
  4. 「上の宛先を置き換える」 か 「上の宛先に追加する」 を選びます
  • ルールは 上から順に、一致したものがすべて適用 されます。「置き換える」ルールが複数一致した場合、後のルールの宛先になります
  • ルールは 5 件まで追加できます
  • メールアドレスとして正しくないものは無視されます

条件で送信後の動きを変える​

「フォーム設定」→「設定」 タブの「送信後のアクション」の下に、「条件付き完了アクション」 が追加されます。

  1. 「+ 条件付きアクションを追加」 をクリックします
  2. 条件を指定します
  3. 「アクションタイプ」 を選びます (メッセージのみ / 完了ページ / リダイレクト URL)
  4. 表示するメッセージ・完了ページ HTML・リダイレクト先を入力します
  • ルールは 上から順に確認され、最初に一致した 1 件 が使われます
  • どれにも一致しなければ、上の「送信後のアクション」の設定がそのまま使われます
  • 完了メッセージ・完了ページ HTML では、通常の送信後アクションと同じ差し込みタグが使えます

他の機能との組み合わせ​

組み合わせ動き
フィールドグループ / リピーター組ごと表示 / 非表示にできます。隠れている間は、組の中の入力もすべて送信されません。組の中の個々の項目に条件を付けることはできません
ページ分割条件で隠れている項目は「次へ」の入力チェックの対象外になります。ページごと丸ごとスキップすることはできません
受付制御組み合わせて使えます。受付を締め切っている間はフォーム自体が表示されません
確認画面隠れている項目は確認画面にも表示されません

HTML テンプレートを使っている場合​

入力画面 HTML テンプレート でレイアウトを自作している場合、項目を囲む要素に目印がないと、条件分岐は入力欄を無効にするだけで 見た目を消せません。

項目を囲む要素に data-fplant-field="フィールド名" を付けてください。

<div class="my-row" data-fplant-field="budget">
<label>ご予算</label>
[fplant_field name="budget"]
</div>

無料版が出力する標準のレイアウト (.fplant-field-group) を使っている場合は、この指定は不要です。

制限事項​

  • 住所・ファイル・HTML・カスタムメールタグ・グループ・リピーター・ページ区切りは、条件の判定材料に使えません
  • ページ区切りに条件を設定することはできません (ページ単位のスキップは非対応)
  • グループ / リピーターの中の個々の項目に条件を付けることはできません
  • JavaScript 埋め込み (外部サイト向けスニペット) では動作しません。iframe 埋め込みでは動作します