Home / ... / 操作説明 / Deluge スクリプト / フィールドのアクション

フィールドのアクション


Zoho Creator では、Deluge スクリプトによって、フォーム内のフィールドの値が修正・変更された時点での、アクションスクリプトを設定することができます。

これらのアクションは、各フィールドに設定され、特定のフィールドの値が変更された時点でのみ実行されます。

Zoho Creator がサポートする、フィールドのアクションは、次の2つです。:

ユーザ入力時(On User Input): 「On User input」スクリプトは、クライアントサイドのアクションです。ユーザが、フォーム内のフィールド値を変更した時に実行されます。

 

データ更新時(On Update): 「On Update」スクリプトは、フィールドの値が修正された時に実行されます。
サーバーサイドのイベントであり、データベースに変更を保存(フォーム内の「更新」ボタンをクリック)した後に、フィールドのアクションが実行されます。

 


FAQ カテゴリ

 


FAQ - フィールド一般

  1. Deluge スクリプトで、フォーム内のフィールドを定義するには、どうしたらよいですか?
  2. フォーム内のフィールドの定義には、名前の付け方に決まりがあるのですか?
  3. Zoho Creator でサポートしている、フォーム内のフィールド型にはどのようなものがありますか?
  4. Deluge スクリプトで、フォーム内のフィールド名を変更するにはどうすればよいですか?
  5. データを含むフィールドを削除することはできますか?できる場合には、どのように行えばよいですか?
  6. デフォルト値と Tooltip(説明表示) が生成されないフィールドがあるのは、なぜですか?
  7. 管理者(オーナ)だけが表示/編集できるように、フィールドを非表示に設定する方法はありますか?
  8. 条件によって、フォールドを表示/非表示にすることはできますか?
  9. フィールドの組み合わせをユニークにしたいのですが、GUI または スクリプトで設定可能ですか?例えば、人名と誕生日の組み合わせがユニークであるなどです。


1. Deluge スクリプトで、フォーム内のフィールドを定義するには、どうしたらよいですか?
フォーム内のフィールドは、特定の種類のデータのプロパティによって個別に定義されています。
また、フォーム内のフィールドは、次の2つの方法で参照されます。

  • 表示名

    GUI(グラフィックユーザインターフェース)モードで参照されるフィールドの名前です。ユーザが、アクセスモードでアプリケーションにアクセスするときにも、このフィールドの表示名を参照します。
    表示名は、Deluge スクリプト内では、二重引用符(" ")で囲まれた形式で表示されます。

  • ラベル名

    フィールドの実際の名前です。フィールドのラベル名は、アプリケーション内で固有のものです。Deluge スクリプト内で参照されるのは、このラベル名だけです。
    フィールドのラベル名には、英数字と下線(_)のみ利用することができます。

  •  

    サンプルコード:

    form add_employee
    {
    displayname = "Add Employee"
    Name

    Age
    (
    displayname = "Enter Age"
    type = number
    )
    Date_Of_Birth
    (
    displayname = "Date Of Birth"
    type = date
    )
    Qualification
    (
    displayname = "Educational Qualification"
    type = number
    )
    }

ここでは、
"Enter Age:" , "Educational Qualification" が、表示名です。
Name, Age, Qualification が、ラベル名です。

注意: 型が指定されていない場合には、テキスト 型フィールドとして扱われます。例)Name



2. フォーム内のフィールドの定義において、名前の付け方には決まりがあるのですか?
フィールド名には、英数字と下線(_)のみ利用できます。

注意: フォーム名に、空白(スペース" ")は利用できません!

 

3. Zoho Creator でサポートしている、フォーム内のフィールドの型にはどのようなものがありますか?
フィールド型の一覧等の詳細は、 フィールド -> フィールドの種類 をご参照ください。

 

4. Deluge スクリプトで、フォーム内のフィールド名を変更するにはどうすればよいですか?
フィールドの名前の変更は、安全な操作です。登録データに影響はありません。

  • 表示名の変更
    フィールドの表示名の変更は、非常に単純な操作です。下記のように、フィールドの定義内で表示名を変更し、スクリプトを保存します。

form add_employee
{
displayname = "Add Employee"

Name

Age
(
displayname = "Enter Age: " "Enter Employee Age: "
type = number
)
Date_Of_Birth
(
displayname = "Date Of Birth"
type = date
)
Qualification
(
displayname = "Enter Qualification" "Enter Educational Qualification"
type = number
)
}
  • ラベル名の変更
    ラベル名は、下記の構文を利用して変更することができます。

form add_employee
{
displayname = "Add Employee"

    Name as EmpName

Age as EmpAge
(
displayname = "Enter Age:"
type = number
)
Date_Of_Birth
(
displayname = "Date Of Birth"
type = date
)
Qualification as EmpQualification
(
displayname = "Educational Qualification"
type = number
)
}

5. データを含むフィールドを削除することはできますか?できる場合には、どのように行えばよいですか?
フォールを削除したとき、フィールドに対応するデータは削除され、元に戻すことができません。
も、登録データがない場合には、テキストエリアからフィールドの定義を削除することで可能です。

フもし、登録データが存在する場合には、「登録データが存在している場合には、フィールドは削除できません」というエラーメッセージが表示されます。この場合、フィールドは削除できません。
エラーメッセージは下図のように表示されます。



この場合、フィールドを削除するには、下記のように、明確な delete キーワード を使用する必要があります。

form add_employee
{
displayname = "Add Employee"
Name
delete Age
Date_Of_Birth
(
displayname = "Date Of Birth"
type = date
)
Qualification
(
displayname = "Enter Educational Qualification"
type = number
)
}

または、下記のように、フィールドの定義の前に delete キーワード を追加します。

form add_employee
{
displayname = "Add Employee"
Name

delete Age
(
displayname = "Enter Employee Age: "
type = number
)

Date_Of_Birth
(
displayname = "Date Of Birth"
type = date
)
Qualification
(
displayname = "Enter Educational Qualification"
type = number
)
}

 

6. デフォルト値と Tooltip(説明表示) が生成されないフィールドがあるのは、なぜですか?
スクリプトモードでは、フィールドのすべてのプロパティを生成しません。ユーザが修正したプロパティのみ生成され、デフォルト値であるプロパティは生成されません。
例えば、テキストフィールドに対して、最大文字数のプロパティはユーザが修正しない限り生成されません。

7. 管理者(オーナ)だけが表示/編集できるように、フィールドを非表示に設定する方法はありますか?
はい。「このフィールドを非表示にする
設定をチェックすることで、フィールドを非表示にすることができます。
このオプションを選択すると、アプリケーションの管理者(作成者)のみ、このフィールドにアクセスすることができるようになります。

 

8. 条件によって、フィールドを表示/非表示にすることはできますか?
Deluge スクリプトで、Hide/Show の Deluge キーワードを利用すれば可能です。
詳細は、Deluge 文 -> クライアントサイド関数 -> 非表示/表示 (Hide/Show) をご参照ください。

 

9. フィールドの組み合わせをユニークにしたいのですが、GUI または スクリプトで設定可能ですか?例えば、人名と誕生日の組み合わせがユニークであるなどです。
Deluge スクリプトで、送信時(on submit)スクリプトをフォームに設定すれば可能です。
送信時("on submit)スクリプトは、データが保存される前に実行されます。
下記のコードでは、送信時("on submit")スクリプトは、同じ名前と誕生日データのレコード(行)があるかどうかを探すよう設定されます。もし、基準に合う列が見つかった場合には、送信が中止(cancel submit)されます。

 
form user_info
{
name
(
type = text
)

dob
(
type = date
)

on submit
{
if (count(user_info[(name == input.name && dob == input.dob)]) > 0)
{
cancel submit;
}
}

}

 


 


    Post a comment

    Your Name or E-mail ID (mandatory)

     

    Note: Your comment will be published after approval of the owner.




     RSS of this page