動的なフォーム(webform)

カテゴリ フォーム コアバージョン 7.34 関連モジュール Webform

お問い合わせフォームや募集フォームのコントロールはWebformが定番ですが、Webformで動的なフォームができますか?
・項目AでAAを選択すると、関連する項目AAAを表示
・項目AでBBを選択すると、関連する項目BBBを表示
とか...

コメント

ユーザー actbrain の写真

Webform conditionalモジュールを利用することで実現します。
https://www.drupal.org/project/webform_conditional
 
Webform conditionalをインストールすると、Webformのコンポーネント設定ページに「条件付きルール」というフォームが追加されます。
以下、https://www.act-brain.co.jp/contact のページの「弊社からの連絡方法」の動き〜設定方法で説明します。
動きとしては、
弊社からの連絡方法
 □ 電話
 □ Skype
 □ メール
のチェック具合により、「電話番号」、「Skype-ID」、「メールアドレス」各々の入力フォームが表示されたり隠れたりします。
 
 
設定内容は以下のとおりです。結構簡単に実現できますので試してみてください。
 
1.「弊社からの連絡方法」コンポーネント フィールドフォームの設定
 1)オプション(選択肢)
  telephone|電話
  skype_id|Skype
  email|メール
2.「電話番号」フィールドフォームの設定
 1)条件付きルール
  ・コンポーネント=「弊社からの連絡方法」
  ・オペレータ=「いずれか」
  ・値=telephone・・・1.1)のオプションのうちtelephoneを指定
3.「Skype-ID」フィールドフォームの設定
 1)条件付きルール
  ・コンポーネント=「弊社からの連絡方法」
  ・オペレータ=「いずれか」
  ・値=skype_id・・・1.1)のオプションのうちskype_idを指定
4.「メールアドレス」フィールドフォームの設定
 1)条件付きルール
  ・コンポーネント=「弊社からの連絡方法」
  ・オペレータ=「いずれか」
  ・値=email・・・1.1)のオプションのうちemailを指定

ページ

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ Core Ver. 関連モジュール タイトル
Views 8.4x hook_views_query_alter Viewsクエリの条件式にサブクエリを追加する方法
Views 8.4x hook_views_query_alter 現在のViewsクエリを保存・再現する方法
Views Exposed Filter 8.4x hook_views_pre_view Views Exposed Formの複数単語入力(textfield)をフォーム上だけ複数行入力(textarea)にする方法
Initial 8.4x Subscriber hook_init() 〜 drupal_goto() を drupal8でやる方法
コンテンツの管理 8.4x Action カスタムアクションを作成する方法
SFTP 8.4x SFTP RSA SFTP(RSA)でファイル転送(送信)する方法
コンテンツの管理 8.4x Entity EntityをPropertyで探す(クエリする)方法
コンテンツの作成 8.4x node node保存前に色々やる方法
Token 8.4x Token カスタムモジュールからtokenを提供する方法(drupal8版)
コンテンツの作成 8.4x コンテンツ作成時のフォームレイアウトの変更
video 8.4x video map 動画上にクリッカブルマップを作成する方法
PHP 8.3x PHP drupa8でhook_init()する方法
テーマ 8.3x Theme drupal8 で パスに応じたページテンプレート名を利用する方法
Custom module 8.3x Custom module Twig Block Cache カスタムモジュールのレンダリングを非キャッシュ化する方法
テーマ 8.3x Block Cache Theme 管理ページから作成したカスタムブロックを非キャッシュ化する方法
テーマ 8.3x Core Twig開発用の設定
テーマ 8.3x Contribute themes drupal8-寄贈テーマの動向
拡張機能 8.3x Contribute modules drupal8-寄贈モジュールの動向
テーマ 7.56 field レンダリング配列内に「ラベル非表示」を指定する方法
PhpStorm 7.50 LocalForward PhpStormから踏み台を使う

ページ