動的なフォーム(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. 関連モジュール タイトル
Commerce2 8.6.x Commerce Order Commerceで注文情報から全Itemを得る方法
Commerce2 8.6.x Commerce Shipment Commerceで配送情報を得る方法
Commerce 8.6.x Commerce Payment Order Commerceで歴代購入数/金額を集計する方法
コンテンツの管理 8.6.x Commerce Commerce orderからすべての商品名を取得する方法
サイトの環境設定 8.6.x Simhony Yaml yamlファイルを読み込む方法
フォーム 8.6.x JavaScript 特定のformにJavaScriptを紐付ける方法
Commerce 8.6.x Commerce Payment Gateway オリジナルCommerce決済モジュール(Offsite)で決済サーバーへのPOST時のエンコードを変更する方法
コンテンツの管理 8.5.x Field File コンテンツのフィールドの表示について
Libraries 8.5.x Libraries Commerceで外部JavaScriptをテスト/本番で読み分ける方法
JavaScript 8.5.x PHP Commerce決済モジュール設定をJavaScriptにデータに渡す方法
サイトの構築 8.3x Webform Webformモジュール メールアドレスの入力ミス確認
Viewsプログラミング 8.4x Views drupal8におけるViewsプログラミング
サイト情報 8.4x JavaScript JavaScriptに変数を渡す方法
テーマ 8.4x hook_preprocess_html bodyタグにnode idやaliasのClassを追加する方法
コンテンツの作成 8.4x json jQueryにjsonで渡す方法
コンテンツの作成 8.4x Download とにかく何でもコンテンツをダウンロードさせる方法
コンテンツの作成 8.4x PhpSpreadsheet Excelを読み書きする方法
コンテンツの作成 8.4x archiver zipファイル圧縮・解凍する方法
コンテンツの作成 8.4x node 新規ノードを作成する
Views 8.4x hook_views_query_alter Viewsクエリに多くの条件を追加する方法

ページ