動的なフォーム(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.昇順で並び替える 関連モジュール タイトル
コンテンツの作成 8.4x コンテンツ作成時のフォームレイアウトの変更
テーマ 8.4x hook_preprocess_html bodyタグにnode idやaliasのClassを追加する方法
コンテンツの作成 8.4x PhpSpreadsheet Excelを読み書きする方法
Views 8.4x hook_views_query_alter Viewsクエリに多くの条件を追加する方法
Views Exposed Filter 8.4x hook_views_pre_view Views Exposed Formの複数単語入力(textfield)をフォーム上だけ複数行入力(textarea)にする方法
SFTP 8.4x SFTP RSA SFTP(RSA)でファイル転送(送信)する方法
PHP 8.3x PHP drupa8でhook_init()する方法
テーマ 8.3x Block Cache Theme 管理ページから作成したカスタムブロックを非キャッシュ化する方法
拡張機能 8.3x Contribute modules drupal8-寄贈モジュールの動向
Custom module 8.3x Custom module Twig Block Cache カスタムモジュールのレンダリングを非キャッシュ化する方法
テーマ 8.3x Contribute themes drupal8-寄贈テーマの動向
サイトの構築 8.3x Webform Webformモジュール メールアドレスの入力ミス確認
テーマ 8.3x Theme drupal8 で パスに応じたページテンプレート名を利用する方法
テーマ 8.3x Core Twig開発用の設定
Proxy 7.59 Proxy Apache settings.php リバースプロキシ(Apache)+バックグランドWeb(Drupal 7 )でログインセッションを維持する方法
サイトの環境設定 7.59 さくらのレンタルサーバー php Options さくらのレンタルサーバーで パブリック/プライベートディレクトリにファイルが書き込まれないとき
サイトの構築 7.59 Drupal.ajax drupal 7 で Uncaught TypeError: Drupal.ajax is undefined となったときの対応方法
ユーザの管理 7.59 user pass drupal 7 で 管理者(uid=1)パスワードがわからなくなったとき 新しいパスワードを設定する方法
テーマ 7.56 field レンダリング配列内に「ラベル非表示」を指定する方法
drush 7.54 Drush Drushでdrupalサイトをインストールする方法

ページ