Zoho Creator の使い方: フィールドの表示/非表示

Zoho Creator のヘルプやフォーラムで、シンプルではありますが、頻繁にお問い合わせのいただく質問の1つに、Zoho Creator の入力フォームで動的にフィールドを表示/非表示する方法があります。
このブログでは、表示/非表示機能の使い方とヒントをご紹介します。この機能により、無意味な情報をユーザから見えないようにしたり、ユーザがデータを入力しやすくなるような、高性能な入力フォームを作成することができます。

1. アプリケーションのオーナにのみフィールドを表示する

人事部長が人事関連のアプリケーションを管理していると想定します。人事部長が下記のアプリケーション「Job Application(業務アプリケーション)」フォームを作成し、組織内で応募者が欠員に申し込むことができるようにします。
このフォームでは、「Call for Written Test (筆記試験へ呼ぶ)」フォールドは、アプリケーションのオーナ(人事部長) だけが利用でき、応募者を面接に呼ぶかどうかを決定するフィールドであり、ユーザ(応募者)には表示したくありません。



Call for Written Test(筆記試験へ呼ぶ) 」フィールドを、アプリケーションのオーナのみアクセス可能に設定するには、フィールドの編集で、オプション>許可設定の 「このフィールドを非表示にする」オプションにチェックを入れます。

完了 をクリックして、変更を保存します。:



上記の設定により、ログインユーザがアプリケーションのオーナの場合のみ、フォーム内の一番下に意思確認フィールドが表示されます。

共有ユーザは、このフィールドを表示することが出来ません。共有ユーザが確認できるフォームは、下記のとおりです。:




2. 条件によって、フィールドを表示/非表示する


また、Deluge(デリュージ)スクリプトを利用することで、条件によって、フォーム内の指定フィールドを表示/非表示するような設定が行えます。

例えば、ユーザが、ドロップダウンリストフィールドで「Option1」を選択した場合に指定のフィールドを表示し、それ以外の場合には他のフィールドを表示する設定を行います。


「Hide <フィールド名>」 という Deluge タスクを利用すれば、指定のフィールドを不要な場合のみ動的に非表示にすることができます。

フィールドは、アプリケーションのオーナでも、アプリケーションを共有されたユーザでも、表示/編集することが出来ません。

一方、「Show <フィールド名>」 という Deluge タスクを利用すれば、それまで非表示にしていたフィールドを表示することができます。

ここに、いくつかの例をご紹介します。:

a. 別のリストフィールド内の選択値に基づく、フィールドの表示/非表示

– 下記の「Sample1」フォームでは、フォームの読込時には、テキストフィールド「ResearchQuestion」 が非表示になっています。

  「Type」フィールドの入力値が「Research」の場合のみ、
ResearchQuestion」フィールドが表示するように設定したいと思います。

これを設定するには、編集モードのスクリプトタブにて、

– スクリプトビルダーの フォームのアクション ->  レコードの追加時 -> 読込時 ブロックを選択します。レコードの追加時 -> 読込時 スクリプトは、レコードの新規追加のためにフォームが読み込まれた際に実行します。

– 下記のスクリーンショットのように、hide ResearchQuestion という Deluge タスクを追加します。スクリプトの保存 をクリックして、変更を反映します。

(Deluge タスクをドラッグ&ドロップして、右のエディタエリアに追加することができます。タスクの編集 ボタンをクリックして、Deluge 式ビルダーを利用して、フィールド名や変数や式を設定します。)


Type への入力値が「Research」に選択された場合のみ、 ResearchQuestionフィールドを表示するには、

– スクリプトビルダーの フィールドのアクション -> Type -> ユーザ入力時 ブロックを選択します。 フィールドのアクション -> ユーザ入力時 スクリプトは、Type フィールドの値が変更された場合に実行します。

If <条件>文 命令文 を追加し、下記の図のように Type フィールドが「Research」として選択された場合のみ、フィールドを表示するように設定します。スクリプトの保存 をクリックして、変更を反映します。

zoho creator script editor

ResearchQuestion 」フィールドは、Type フィールドが、「Research」として選択された場合のみ、下記のように表示されます。


b. ログインユーザによって、フィールドを表示/非表示する

特定のユーザに対して、フォーム内の指定フィールドへのアクセスを制限したい場合があるでしょう。この設定は、Deluge 変数の zoho.loginuser を利用すれば実現できます。この変数は、ログインユーザ名を返します。また、Hide <フィールド名> のDeluge タスクを If <条件>文内で設定すればよいのです。

たとえば、人事部長のみにNameE-mail フィールドへの編集アクセスを許可するように設定するとします。この時、人事部長のログインユーザ名は、「HRAdmin」です。 

これを設定するには、

– スクリプトビルダーの フォームのアクション ->  レコードの編集時 -> 読込時 ブロックを選択します。レコード編集時 -> 読込時 スクリプトは、既存レコードの編集のためにフォームが読み込まれた時に実行します。

ログインユーザ名をチェックする If <条件>文 を追加し、実行する If 命令文を追加します。If 命令文は、ログインユーザ名が「HRAdmin」でない場合に実行します。

(例) ログインユーザ名が「HRAdmin」ではない場合には、Name フィールドと E-mail フィールドが、非表示になります。

スクリプトの保存 をクリックして、変更を反映します。

(Deluge タスクをドラッグ&ドロップして、右のエディタエリアに追加することができます。タスクの編集 ボタンをクリックして、Deluge 式ビルダーを利用して、フィールド名や変数や式を設定します。)





いかがでしょうか?これらのフィールドの表示/非表示設定を活用して、より高度でより便利なZoho Creator フォームを作成してください!




関連ヘルプへのリンク(英語):

Help Doc – Deluge Script -> Hide/Show
Help Doc – Deluge Script -> Using Script Builder

関連のフォーラム投稿(英語):
 
http://discussions.zoho.com/zohoforums?ftid=2266000000150851
http://discussions.zoho.com/zohoforums?ftid=2266000000138102
http://discussions.zoho.com/zohoforums?ftid=2266000000018120


■Zoho Creator サービスページ:http://zoho.jp/service/zoho-creator.html

なお、このブログは、本社(AdventNet Inc.)のZohoブログを翻訳・加筆したものです。
元の
記事(2009年2月3日投稿)はこちら(翻訳:清水)

PAGE TOP