Zoho Creator では、Deluge スクリプトによって、フォーム内のフィールドの値が修正・変更された時点での、アクションスクリプトを設定することができます。
これらのアクションは、各フィールドに設定され、特定のフィールドの値が変更された時点でのみ実行されます。
Zoho Creator がサポートする、フィールドのアクションは、次の2つです。:
ユーザ入力時(On User Input): 「On User
input」スクリプトは、クライアントサイドのアクションです。ユーザが、フォーム内のフィールド値を変更した時に実行されます。
データ更新時(On Update): 「On Update」スクリプトは、フィールドの値が修正された時に実行されます。
サーバーサイドのイベントであり、データベースに変更を保存(フォーム内の「更新」ボタンをクリック)した後に、フィールドのアクションが実行されます。
FAQ カテゴリ
FAQ - フィールド一般
- Deluge スクリプトで、フォーム内のフィールドを定義するには、どうしたらよいですか?
- フォーム内のフィールドの定義には、名前の付け方に決まりがあるのですか?
- Zoho Creator でサポートしている、フォーム内のフィールド型にはどのようなものがありますか?
- Deluge スクリプトで、フォーム内のフィールド名を変更するにはどうすればよいですか?
- データを含むフィールドを削除することはできますか?できる場合には、どのように行えばよいですか?
- デフォルト値と Tooltip(説明表示) が生成されないフィールドがあるのは、なぜですか?
- 管理者(オーナ)だけが表示/編集できるように、フィールドを非表示に設定する方法はありますか?
- 条件によって、フォールドを表示/非表示にすることはできますか?
- フィールドの組み合わせをユニークにしたいのですが、GUI または スクリプトで設定可能ですか?例えば、人名と誕生日の組み合わせがユニークであるなどです。
1. Deluge スクリプトで、フォーム内のフィールドを定義するには、どうしたらよいですか?
フォーム内のフィールドは、特定の種類のデータのプロパティによって個別に定義されています。
また、フォーム内のフィールドは、次の2つの方法で参照されます。
ここでは、
"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; } } }
|