GlideForm (g_form): クライアント
GlideForm API は、フォームをカスタマイズするためのメソッドを提供します。
GlideForm.js は、メソッドを含む JavaScript クラスです。クライアントでのみ GlideForm メソッドを使用してください。これらのメソッドを使用して、レコードのフォームビューにカスタム変更を加えることができます。例の検証はすべてクライアントスクリプトを使用して行われました。
これらのメソッドの一部を他のクライアントスクリプト (カタログクライアントスクリプトやウィザードクライアントスクリプトなど) でも使用できますが、最初にこれをテストして、期待どおりに機能するかどうかを判断する必要があります。
GlideForm クラスのコンストラクターはありません。g_form グローバルオブジェクトを使用して GlideForm メソッドにアクセスします。
GlideForm - addDecoration(String fieldName, String icon, String title)
フィールドのラベルにアイコンを追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールド名 |
| アイコン | 文字列 | フィールドの横に表示するフォントアイコン。サポートされているアイコン:icon-user、icon-user-group、icon-lightbulb、icon-home、icon-mobile、icon-comment、icon-mail、icon-locked、icon-database、icon-book、icon-drawer、icon-folder、icon-catalog、icon-tab、icon-cards、icon-tree-right、icon-tree、icon-book-open、icon-paperclip、icon-edit、icon-trash、icon-image、icon-search、icon-power、icon-cog、icon-star、icon-star-empty、icon-new-ticket、icon-dashboard、icon-cart-full、icon-view、icon-label、icon-filter、icon-calendar、icon-script、icon-add、icon-delete、icon-help、icon-info、icon-check-circle、icon-alert、icon-sort-ascending、icon-console、icon-list、icon-form、および icon-livefeed。 |
| title | 文字列 | アイコンのテキストタイトル。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addDecoration('caller_id', 'icon-star', 'preferred member');
GlideForm - addDecoration(String fieldName, String icon, String title, String color)
フィールドのラベルにアイコンを追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールド名 |
| アイコン | 文字列 | フィールドの横に表示するフォントアイコン。サポートされているアイコン:icon-user、icon-user-group、icon-lightbulb、icon-home、icon-mobile、icon-comment、icon-mail、icon-locked、icon-database、icon-book、icon-drawer、icon-folder、icon-catalog、icon-tab、icon-cards、icon-tree-right、icon-tree、icon-book-open、icon-paperclip、icon-edit、icon-trash、icon-image、icon-search、icon-power、icon-cog、icon-star、icon-star-empty、icon-new-ticket、icon-dashboard、icon-cart-full、icon-view、icon-label、icon-filter、icon-calendar、icon-script、icon-add、icon-delete、icon-help、icon-info、icon-check-circle、icon-alert、icon-sort-ascending、icon-console、icon-list、icon-form、および icon-livefeed。 |
| title | 文字列 | アイコンのテキストタイトル。 |
| 色 | 文字列 | CSS カラー。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addDecoration('caller_id', 'icon-star', 'Mark as Favorite', 'color-green');
GlideForm:addErrorMessage(文字列メッセージ)
指定されたエラーメッセージをフォームの上部に表示します。
このメッセージは約 4 秒間表示されてから消えます。現時点では、このタイムアウトは構成できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| メッセージ | 文字列 | 表示するメッセージ。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addErrorMessage('This is an error');
GlideForm - addFormMessage(文字列メッセージ, 文字列タイプ, オブジェクトオプション)
フォームの詳細セクションの上部にフローティングフォームメッセージを表示します。このメッセージには UI アクションは含まれていません。
| 名前 | タイプ | 説明 |
|---|---|---|
| メッセージ | 文字列 | 表示するメッセージ。 |
| タイプ | 文字列 | メッセージのタイプ。 有効な値:
|
| オプション | オブジェクト | オプション。フォームメッセージに追加するボタンと、ボタンのクリックを処理するために必要なメタデータを含むオブジェクト。 |
| options.buttons | アレイ | フォームメッセージに追加するボタンのアレイ。 |
| options.buttons.label | 文字列 | ボタンに表示するテキスト。 |
| options.buttons.actionName | 文字列 | クリックされたボタンを判別するためにFORM_MESSAGE_BUTTON_CLICKEDイベントハンドラーによって使用される名前。 たとえば、actionName |
| options.meta | オブジェクト | ボタンのクリックを処理するために必要なメタデータのマップ。キーと値のペアとしてフォーマットされています。 たとえば、[ 自分にアサイン] ボタンの場合、イベントハンドラーにはレコードをアサインするユーザーのsys_idが必要です。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、各タイプのフォームメッセージを追加する方法を示しています。
g_form.addFormMessage('info message','info');
g_form.addFormMessage('warning message','warning');
g_form.addFormMessage('error message','error');
g_form.addFormMessage('info2 message','info');
g_form.addFormMessage('warning2 message','warning');
g_form.addFormMessage('error2 message','error');
g_form.addFormMessage('Would you like to reassign this to yourself?', 'info', {buttons: [{label: "Assign to me", actionName: "assign_to_me"}], meta: {'userId': '46d44a23a9fe19810012d100cca80666'}});
GlideForm:addInfoMessage(文字列メッセージ)
指定された情報メッセージをフォームの上部に追加します。
このメッセージは約 4 秒間表示されてから消えます。現時点では、このタイムアウトは構成できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| メッセージ | 文字列 | 表示するメッセージ。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addInfoMessage('The top five fields in this form are mandatory');
GlideForm - addOption(String fieldName, String choiceValue, String choiceLabel)
選択リストフィールドの最後に選択肢を追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前。 |
| choiceValue | 文字列 | データベースに格納される値。 |
| choiceLabel | 文字列 | 表示される値。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addOption('priority', '6', '6 - Really Low');
GlideForm - addOption(String fieldName, String choiceValue, String choiceLabel, Number choiceIndex)
リストフィールドの指定された位置に選択肢を追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールド名 |
| choiceValue | 文字列 | データベースに格納されている値。 |
| choiceLabel | 文字列 | 表示される値。 |
| choiceIndex | 番号 | リスト内の選択の順序。インデックスは 0 ベースのアレイになります。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addOption('priority', '2.5', '2.5 - Moderately High', 3);
GlideForm - clearMessages()
フォームの上部からすべての情報メッセージとエラーメッセージを削除します。
g_form.addInfoMessage() および g_form.addErrorMessage() とともに追加された情報メッセージとエラーメッセージを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
g_form.clearMessages();
GlideForm:clearAllFormMessages()
任意のタイプのすべてのフォームメッセージを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、フォームからすべてのメッセージをクリアする方法を示しています。
g_form.clearAllFormMessages();
GlideForm:clearFormMessages(文字列タイプ)
指定されたタイプのすべてのフォームメッセージを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| タイプ | 文字列 | メッセージのタイプ。 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし |
次の例は、フォームからすべてのエラーメッセージをクリアする方法を示しています。
g_form.clearFormMessages('error');
GlideForm - clearOptions(文字列 fieldName)
選択リストからすべてのオプションを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm:clearValue(文字列 fieldName)
フィールドからすべての値を削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm:disableAttachments()
添付ファイルが追加されないようにします。
この方法はモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行された場合、アクションは実行されません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - enableAttachments()
添付ファイルを追加できます。ペーパークリップアイコンを表示します。
この方法はモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行された場合、アクションは実行されません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - flash(String fieldName, String color, Number count)
特定のフィールドに注意を引くために使用されます。指定されたフィールドで指定された時間、指定された色で点滅します。
この方法はサービスカタログではサポートされていません。
この方法はモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行された場合、アクションは実行されません。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | ハイライト表示するフィールドを 「<table-name>.<field-name>」の形式で指定します。 |
| 色 | 文字列 | RGB カラーまたは許容可能な CSS カラー。 |
| カウント | 番号 | ラベルを点滅させる時間を指定します。次のオプションがあります。
|
| タイプ | 説明 |
|---|---|
| なし |
g_form.flash("incident.number", "#FFFACD", 0);
GlideForm:getActionName()
最新のアクション名、またはクライアントスクリプトの場合はクリックされた UI アクションのsys_idを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | 現在のアクション名。 |
function onSubmit() {
var action = g_form.getActionName();
alert('You pressed ' + action);
}
GlideForm:getBooleanValue(文字列 fieldName)
指定されたフィールドのブール値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| タイプ | 説明 |
|---|---|
| ブール | フィールド値が false または未定義の場合は false を返します。それ以外の場合は true を返します。 |
GlideForm:getControl(文字列 fieldName)
指定されたフィールドの HTML 要素を返します。
複合フィールドには、複数の HTML 要素が含まれている場合があります。フォームのフィールドを使用する組み込みメソッドがあるため、このメソッドは通常は必要ありません。
フィールドが参照フィールドで、コントロールが選択リストの場合、 getControl() は 想定どおりにコントロールを返さないことがあります。この場合は、 sys_selectを使用します。<table name>.<field name>。
このメソッドは、モバイルスクリプトまたはサービスポータルスクリプトでは使用できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| タイプ | 説明 |
|---|---|
| HTML リリース | フィールドの HTML 要素。 |
GlideForm:getDecimalValue(文字列 fieldName)
指定されたフィールドの 10 進値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 指定されたフィールドの 10 進数値。 |
function onChange(control, oldValue, newValue, isLoading) {
alert(g_form.getDecimalValue('percent_complete'));
}
GlideForm - getDisplayBox(文字列 fieldName)
コア UI のフォームから表示値を取得します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フォーム内の値を取得するフィールドの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
var caller = g_form.getDisplayBox('caller_id').value;
var assignee = g_form.getDisplayBox('assigned_to').value;
if (caller == assignee)
{
alert('in');
}
GlideForm:getDisplayValue(文字列 fieldName)
サービスポータル のフォームから表示値を取得します。
g_form.getDisplayValue() として呼び出すと、個々のフィールドの表示値ではなく、レコード表示値が返されます。| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フォーム内の値を取得するフィールドの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、コア UI または サービスポータル で参照変数の表示値を取得する方法を示しています。この例のユースケース はコミュニティサイト にあります。
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
if(window == null){
var valuePortal = g_form.getDisplayValue('requester');
alert('Portal->' + valuePortal);
}
else{
var valueNative = g_form.getDisplayBox('requester').value;
alert('CoreUI->' + valueCoreUI);
}
//Type appropriate comment here, and begin script below
}
GlideForm:getElement(文字列 ID)
パラメーターで指定された HTML 要素を返します。
複合フィールドには、複数の HTML 要素が含まれている場合があります。フォームのフィールドを使用する組み込みメソッドがあるため、このメソッドは通常は必要ありません。
このメソッドは、モバイルスクリプトまたはサービスポータルスクリプトでは使用できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| ID | 文字列 | フィールド ID。 |
| タイプ | 説明 |
|---|---|
| HTML リリース | フィールドの HTML 要素。 |
GlideForm - getFormElement()
フォームの HTML 要素を返します。
このメソッドは、モバイルスクリプトまたはサービスポータルスクリプトでは使用できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| HTMLFormElement | フォームの HTML 要素。 |
GlideForm - getHelpTextControl(文字列 fieldName)
指定されたフィールドのヘルプテキストの HTML 要素を返します。
このメソッドは、サービスカタログ変数にのみ適用できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| タイプ | 説明 |
|---|---|
| HTML リリース | ヘルプテキストフィールドの HTML 要素。 |
GlideForm:getIntValue(文字列 fieldName)
フィールドの整数値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールド名 |
| タイプ | 説明 |
|---|---|
| 番号 | フィールドの整数値。 |
GlideForm - getLabelOf(文字列 fieldName)
フィールドラベルのプレーンテキスト値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールド名 |
| タイプ | 説明 |
|---|---|
| 文字列 | ラベルテキスト。 |
if (g_user.hasRole('itil')) {
var oldLabel = g_form.getLabelOf('comments');
g_form.setLabelOf('comments', oldLabel + ' (Customer visible)');
}
GlideForm - getOption(文字列 fieldName, 文字列 choiceValue)
choiceValue がオプション値と一致する、fieldName という名前の選択されたボックスのオプション要素を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| choiceValue | 文字列 | オプションの値。 |
| タイプ | 説明 |
|---|---|
| HTML リリース | オプションの HTMLElement。フィールドまたはオプションが見つからない場合は null を返します。 |
次の例は、選択リスト値のラベルを取得する方法を示しています。
// Get the label for a choice list value
// fieldName is 'category'
function onChange(control, oldValue, newValue, isLoading) {
var choiceValue = g_form.getValue('category');
var choiceLabel = g_form.getOption('category', choiceValue).text;
}
GlideForm - getReference(文字列 fieldName, 関数 callBack)
指定されたフィールドの GlideRecord を返します。
コールバック関数が存在する場合、このルーチンは非同期で実行されます。ブラウザー (およびスクリプト) の処理は、サーバーが参照値を返すまで正常に続行され、その時点でコールバック関数が呼び出されます。コールバック関数が存在しない場合、このルーチンは同期的に実行され、サーバーの応答を待っている間に処理が停止します (ブラウザーがハングアップしたように見えます)。
ServiceCatalogForm.getReference のコールバック関数サポートが利用可能です。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| コールバック | 関数 | コールバック関数の名前。 |
| タイプ | 説明 |
|---|---|
| GlideRecord | 指定されたフィールドの GlideRecord オブジェクト。 指定された参照が見つからない場合は、currentRow = -1 および rows.length = 0 の初期化された GlideRecord オブジェクトを返します。 |
function onChange(control, oldValue, newValue, isLoading) {
g_form.getReference('caller_id', doAlert); // doAlert is our callback function
}
function doAlert(caller) { // reference is passed into callback as first arguments
if (caller.getValue('vip') == 'true') {
alert('Caller is a VIP!');
}
}
GlideForm - getRelatedListNames()
現在のフォームから関連リスト名のアレイを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| アレイ | 現在のフォームからの関連リスト名の文字列アレイ。関連リスト名は、フォームに表示される順序でリストされます。 |
var listNames = g_form.getRelatedListNames();
for (var i = 0; i < listNames.length; i++) {
this.showRelatedList(listNames[i]);
}
GlideForm:getSectionNames()
表示されているかどうかを問わないすべてのセクション名を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列のアレイ | セクション名。 |
GlideForm - getSections()
フォームのセクションのアレイを返します。
この方法はモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行された場合、アクションは実行されません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| HTML 要素のアレイ | フォームのセクション。 |
function onChange(control, oldValue, newValue, isLoading) {
//this example was run on a form divided into sections (Change form)
// and hid a section when the "state" field was changed
var sections = g_form.getSections();
if (newValue == '2') {
g_form.setSectionDisplay(sections[1], false);
} else {
g_form.setSectionDisplay(sections[1], true);
}
}
GlideForm - getTableName()
このレコードが属するテーブルの名前を返します。
サーバー側では、 current.sys_class_name または current.getTableName() を使用して現在のレコードのテーブルを取得できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | テーブルの名前。 |
function onLoad() {
if (g_form.isNewRecord()) {
var tableName = g_form.getTableName(); //Get the table name
}
}
GlideForm:getUniqueValue()
フォームに表示されているレコードのsys_idを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | レコードのsys_id。 |
function onLoad() {
var incSysid = g_form.getUniqueValue();
alert(incSysid);
}
GlideForm:getValue(文字列 fieldName)
指定されたフォームフィールドの値を返します。
このメソッドでは、複数行の変数セット (MRVS) からの値の取得もサポートされています。MRVS 内のフィールドからデータを取得するには、まず JSON.parse(getValue('<mrvs_field_name>') ||'[]') を使用して MRVS アレイを取得し、インデックス作成を使用して行オブジェクト内のフィールドにアクセスします。詳細については、以下のコード例を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 値を返すフィールドの名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 指定されたフィールドの値。 |
次の例は、現在のフォームから簡単な説明を取得する方法を示しています。
function onChange(control, oldValue, newValue, isLoading) {
alert(g_form.getValue('short_description'));
}
次の例は、MRVS から値を取得する方法を示しています。この例では、給与はサービスカタログを通じて管理されています。クライアントスクリプトは、MRVS 内のすべての行で ジョブタイトル に入力された値を検索し、MRVS 内の一致するエントリーを [ 給与] フィールドに入力した値で更新します。MRVS の名前は「variable_set_1」で、各行オブジェクト内に従業員名 [employee_name]、役職 [employee_job_title]、給与 [employee_salary] のフィールドが含まれています。さらに、カタログアイテムには、役職 [job_title] と給与 [給与] が含まれます。
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
// Get the MRVS
var vs1 = g_form.getValue('variable_set_1') || '[]';
var multiRowVariableSet = JSON.parse(vs1);
for (var i = 0; i < multiRowVariableSet.length; i++) {
// Check if the entered job title matches the title in the current MRVS row
if (multiRowVariableSet[i].employee_job_title == g_form.getValue("job_title")){
// Update the value of a matching field with the new salary
multiRowVariableSet[i].employee_salary = newValue;
}
}
// Update the MRVS
g_form.setValue('variable_set_1', JSON.stringify(multiRowVariableSet));
}
GlideForm:hideAllFieldMsgs()
すべてのフィールドメッセージを非表示にします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - hideAllFieldMsgs(文字列タイプ)
指定されたタイプのすべてのフィールドメッセージを非表示にします。
| 名前 | タイプ | 説明 |
|---|---|---|
| タイプ | 文字列 | メッセージのタイプ。 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - hideErrorBox(文字列 fieldName)
showErrorBox() によって配置されたエラーメッセージを非表示にします。
可能な限り、このメソッドではなく hideFieldMsg() を使用してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドまたはコントロールの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm:hideFieldMsg(文字列 fieldName, ブール値 clearAll)
現在のフォームの指定されたフィールドに表示される最初のメッセージを非表示にします。
フォームにメッセージを表示するには、 GlideForm - showFieldMsg(文字列フィールド, 文字列メッセージ, 文字列タイプ) メソッドまたは GlideForm - showFieldMsg(文字列フィールド, 文字列メッセージ, 文字列タイプ, ブール scrollForm) メソッドを使用します。
[work_notes ] フィールドに 2 つのメッセージを表示し、最初のメッセージを非表示にする方法を示しています。 g_form.showFieldMsg('work_notes', 'First message', "error");
g_form.showFieldMsg('work_notes', 'Second message', "error");
g_form.hideFieldMsg('work_notes', false); // This call hides the 'First message'| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | メッセージを非表示にするフィールドの名前。 |
| clearAll | ブール | オプション。指定されたフィールドのすべてのメッセージを非表示にするかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、指定したフォームフィールドのすべてのメッセージをクリアしてから、暗号化エラーメッセージを表示する方法を示しています。
function submitEncryptedInputs() {
return processEncryptedInputs(function(inputName, fieldName) {
if (!checkEncryptedFieldValue(fieldName)) {
g_form.hideFieldMsg(fieldName, true); // Hide all messages for the specified field
g_form.showFieldMsg(fieldName, "Your activity requires an encrypted input.", "error");
return false;
}
return true;
});
}
GlideForm:hideRelatedList(文字列 listTableName)
フォーム上の指定された関連リストを非表示にします。
この方法はモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行された場合、アクションは実行されません。
| 名前 | タイプ | 説明 |
|---|---|---|
| listTableName | 文字列 | 関連リストの名前。sys_idを使用して、関係を通じてリストを非表示にします。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm:hideRelatedLists()
フォーム上のすべての関連リストを非表示にします。
この方法はモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行された場合、アクションは実行されません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm:isLiveUpdating()
フォームに表示されているレコードでライブ更新が行われている間は true を返します。
これを onChange() クライアントスクリプトで使用して、レコードの変更が別のセッションからのライブ更新によるものかどうかを判断できます。クライアントスクリプトは、実行するアクションまたは実行しないアクションを決定できます。これは、ライブフォームが有効になっている コア UI を使用しているシステムに適用されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | フォームによって表示されたレコードでライブ更新が行われている場合は true を返します。 |
GlideForm:isMandatory(文字列 fieldName)
フィールドが必須の場合は true を返します。
必須フィールドは、フィールドラベルの横にあるアスタリスクによって視覚的に区別されます。アスタリスクは、フィールドが空の場合は赤で、フィールドが空でない場合は黒です。ユーザーがこれらのフィールドに入力せずにフォームを保存または送信しようとすると、検証メッセージが表示されます。詳細については、「Form fields」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| タイプ | 説明 |
|---|---|
| ブール | フィールドが必須の場合は true、それ以外の場合は false。 |
GlideForm:isNewRecord()
レコードが一度も保存されていない場合は true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | レコードが保存されていない場合は true を返します。それ以外の場合は false。 |
function onLoad() {
if(g_form.isNewRecord()){
alert('New Record!');
}
}
GlideForm:isSectionVisible(文字列 sectionName)
セクションが表示されている場合は true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | セクションが表示されている場合は true を返します。それ以外の場合は false が返されます。 |
GlideForm - isVisible(文字列 fieldName)
渡されたフィールド名に関連付けられたフィールドを現在のフォームに表示するかどうかを決定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 現在のフォームに表示されているかどうかを確認するフィールドの名前。 |
| タイプ | 説明 |
|---|---|
| ブール | 指定したフィールドが現在のフォーム上に表示されているかどうかを示すフラグ。 有効な値:
|
次のコード例は、 user_address フィールドが現在のフォームに表示されているかどうかを確認する方法を示しています。
if(g_form.isVisible('user_address')) {
alert('is visible');
}
else {
alert('is hidden');
}
GlideForm:onUserChangeValue(関数 fn)
現在のフォームのいずれかのフィールドがユーザーによって変更されたことを検出するカスタムイベントリスナーを登録します。
フォームフィールドが変更されると、イベントリスナーはリスナーの初期登録時に渡された関数を呼び出します。このリスナーは、ユーザーがフォームのフィールドに変更を加えた場合にのみトリガーされます。クライアントスクリプト、UI ポリシー、またはその他のユーザー以外の操作による変更は、リスナーをトリガーしません。
| 名前 | タイプ | 説明 |
|---|---|---|
| fn | 関数 | ユーザーが現在のフォーム内のフィールドの値を変更したときに呼び出す関数。これは関数名だけでなく、実際には関数コードです。 この関数は、次の 3 つの引数を受け入れる必要があります。
|
| タイプ | 説明 |
|---|---|
| 関数 | onUserChangeValue イベントリスナーを登録解除するために呼び出す関数。 |
var handler = function(fieldname, originalValue, newValue) {
console.log('The field ('+ fieldname + ') has a new value of: ' + newValue); // function code
}
var unregister = g_form.onUserChangeValue(handler);
// To unregister the event listener
unregister();
GlideForm - refreshSlushbucket(文字列 fieldName)
リストコレクター変数を更新できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | スラッシュバケットの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.refreshSlushbucket('bucket');
GlideForm - removeDecoration(文字列フィールド名、文字列アイコン、文字列タイトル)
アイコンとタイトルに一致する指定されたフィールドからアイコンを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールド名。 |
| アイコン | 文字列 | 削除するアイコンの名前。 |
| title | 文字列 | アイコンのテキストタイトル (名前)。 |
| タイプ | 説明 |
|---|---|
| なし |
function onChange(control, oldValue, newValue, isLoading) {
// if the caller_id field is not present, then we can't add an icon anywhere
if (!g_form.hasField('caller_id'))
return;
if (!newValue)
return;
g_form.getReference('caller_id', function(ref) {
g_form.removeDecoration('caller_id', 'icon-star', 'VIP');
if (ref.getValue('vip') == 'true')
g_form.addDecoration('caller_id', 'icon-star', 'VIP');
});
}
GlideForm - removeDecoration(文字列フィールド名、文字列アイコン、文字列タイトル、文字列の色)
指定されたフィールドから、アイコン、タイトル、および色に一致するアイコンを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールド名。 |
| アイコン | 文字列 | 削除するアイコンの名前。 |
| title | 文字列 | アイコンのテキストタイトル (名前)。 |
| 色 | 文字列 | CSS カラー |
| タイプ | 説明 |
|---|---|
| なし |
g_form.removeDecoration('caller_id', 'icon-star', 'VIP', 'blue');
GlideForm - removeOption(文字列 fieldName, 文字列 choiceValue)
選択リストから指定されたオプションを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| choiceValue | 文字列 | データベースに格納されている値。これはラベルではありません。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.removeOption('priority', '1');
GlideForm:save()
移動せずにレコードを保存します (更新と維持)。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - setMandatory(文字列 fieldName, ブール値必須)
指定されたフィールドを必須にします。
必須フィールドは、フィールドラベルの横にあるアスタリスクによって視覚的に区別されます。アスタリスクは、フィールドが空の場合は赤で、フィールドが空でない場合は黒です。ユーザーがこれらのフィールドに入力せずにフォームを保存または送信しようとすると、検証メッセージが表示されます。詳細については、「Form fields」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| 必須 | ブール | true の場合、このフィールドは必須になります。false の場合、フィールドはオプションになります。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - setSectionDisplay(文字列 sectionName, ブール表示)
セクションを表示または非表示にします。
| 名前 | タイプ | 説明 |
|---|---|---|
| sectionName | 文字列 | セクション名は、名前の最初のスペースをアンダースコアで置き換えて小文字になり、残りのスペースは削除されます。たとえば、「セクション 4 はここにあります」が「section_fourishere」になります。アンパサンド (&) などの他の英数字以外の文字は削除されます。セクション名は、 getSectionNames() メソッドを使用して見つけることができます。 |
| display | ブール | true の場合、セクションが表示されます。false の場合、セクションが非表示になります。 |
| タイプ | 説明 |
|---|---|
| ブール | 成功した場合は true を返します。 |
GlideForm - setValue(文字列 fieldName, 文字列値, 文字列 displayValue)
指定されたフォームフィールドの値を、参照レコードの指定された表示値の値に設定します。
参照フィールドの値を設定するときに往復を防止してパフォーマンスを向上させるには、 setValue(fieldName, value) ではなくこのメソッドを使用します。リストコレクターフィールドに複数の参照値を設定する場合は、 value パラメーターと displayValue パラメーターに配列を渡します。
setValue(shortDesc, newValue.toUpperCase()); を実行する前に、簡単な説明がまだ大文字になっていないことを検証します。これにより、クライアントスクリプトが toUpperCase() を複数回適用するのを防ぐことができます。| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 更新するフォームフィールドの名前。 |
| 値 | 文字列またはアレイ | フィールドの更新に使用する参照レコードのSys_id。 指定されたフィールドが GlideList の場合、このパラメーターにはsys_idsのアレイを含めることができます。この場合、メソッドはアレイで指定されたすべてのレコードのルックアップを実行し、それらの値は指定されたフィールド (関連リスト) の内容を更新するために使用されます。 注:
選択リストに値を定義するときは、ラベルではなく数値を使用してください。 |
| displayValue | 文字列またはアレイ | 指定されたフィールドを更新するために使用する、指定された参照レコード内のフィールド。たとえば、ユーザー [sys_user] テーブルでは userName である可能性があります。 指定されたフィールドが GlideList の場合、このパラメーターには表示値名のアレイを含めることができます。 表示値の詳細については、「 表示値」を参照してください。 |
| タイプ | 説明 |
|---|---|
| なし |
この例では、 assigned_to フォームフィールドの更新に使用する userName フィールドを含む参照レコードのsys_idを渡す方法を示しています。
g_form.setValue('assigned_to', userSysID, userName);
この例では、参照レコードsys_idsのアレイと、対応する表示値名のアレイを渡して、 GlideList glide-list_field_name のフォームフィールドを更新するために使用する方法を示しています。
g_form.setValue('glide-list_field_name', sysIDArray, displayNameArray);
GlideForm - showErrorBox(文字列名, 文字列メッセージ, ブール scrollForm)
指定されたフォームフィールド (コントロールオブジェクトまたはフィールド名) の下にエラーメッセージを表示します。コントロールまたはフィールドが現在画面から離れていて、scrollForm パラメーターが true の場合、フォームはコントロールまたはフィールドにスクロールします。
フォームフィールドが画面外にあるときの自動メッセージスクロールを制御するグローバルプロパティ (glide.ui.scroll_to_message_field) を使用できます (フォームをコントロールまたはフィールドまでスクロールします)。showFieldMsg() メソッドは、型パラメーターを必要とする同様のメソッドです。
| 名前 | タイプ | 説明 |
|---|---|---|
| 名前 | 文字列 | フィールドまたはコントロールの名前。 |
| メッセージ | 文字列 | 表示するメッセージ。 |
| スクロールフォーム | ブール | true の場合、フォームをフィールドまでスクロールします。false の場合、フォームはフィールドまでスクロールしません。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - showFieldMsg(文字列フィールド, 文字列メッセージ, 文字列タイプ)
指定されたフォームフィールド (コントロールオブジェクトまたはフィールドの名前) の下に情報メッセージまたはエラーメッセージのいずれかを表示します。コントロールまたはフィールドが画面の外にある場合は、フォームがフィールドまでスクロールします。
フォームフィールドが画面外にあるときの自動メッセージスクロールを制御するグローバルプロパティ (glide.ui.scroll_to_message_field) を使用できます (フォームをコントロールまたはフィールドまでスクロールします)。
showErrorBox() メソッドは、type パラメーターを必要としない短縮形メソッドです。
| 名前 | タイプ | 説明 |
|---|---|---|
| フィールド | 文字列 | フィールドまたはコントロールの名前。 |
| メッセージ | 文字列 | 表示するメッセージ。 |
| タイプ | 文字列 | 「error」、「info」、または「warning」。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.showFieldMsg('impact','Low impact response time can be one week','info');
GlideForm - showFieldMsg(文字列フィールド, 文字列メッセージ, 文字列タイプ, ブール scrollForm)
指定されたフォームフィールド (コントロールオブジェクトまたはフィールドの名前) の下に情報メッセージまたはエラーメッセージのいずれかを表示します。コントロールまたはフィールドが現在画面から離れていて、scrollForm が true の場合、フォームはフィールドまでスクロールされます。
フォームフィールドが画面外にあるときの自動メッセージスクロールを制御するグローバルプロパティ (glide.ui.scroll_to_message_field) を使用できます (フォームをコントロールまたはフィールドまでスクロールします)。
showErrorBox() メソッドは、type パラメーターを必要としない短縮形メソッドです。
| 名前 | タイプ | 説明 |
|---|---|---|
| フィールド | 文字列 | フィールドまたはコントロールの名前。 |
| メッセージ | 文字列 | 表示するメッセージ。 |
| タイプ | 文字列 | 「error」、「info」、または「warning」。 |
| スクロールフォーム | ブール | true の場合、フィールドが画面外にある場合は、フォームがスクロールします。false の場合、フォームはスクロールしません。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.showFieldMsg('impact','Low impact not allowed with High priority','error',false);
GlideForm - setDisabled(文字列 fieldName, ブール値の無効化)
指定したフィールドを使用可能または使用不可にします。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| 無効化 | ブール | true の場合、フィールドが無効になります。false の場合、フィールドが有効になります。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - setDisplay(文字列 fieldName, ブール表示)
フィールドを表示または非表示にします。
このメソッドでは、値のない必須フィールドを非表示にすることはできません。フィールドが非表示の場合、そのスペースは他のアイテムを表示するために使用されます。可能な場合は常に、このメソッドの代わりに UI ポリシーを使用してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldname | 文字列 | フィールドの名前 |
| display | ブール | true の場合はフィールドを表示し、false の場合はフィールドを非表示にします。 |
| タイプ | 説明 |
|---|---|
| なし |
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
//If the page isn't loading
if (!isLoading) {
//If the new value isn't blank
if (newValue != '') {
g_form.setDisplay('priority', false);
}
else
g_form.setDisplay('priority', true);
}
}
GlideForm - setLabelOf(String fieldName, String label)
フィールドラベルのプレーンテキスト値を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールド名 |
| ラベル | 文字列 | フィールドテキストラベル。 |
| タイプ | 説明 |
|---|---|
| なし |
if (g_user.hasRole('itil')) {
var oldLabel = g_form.getLabelOf('comments');
g_form.setLabelOf('comments', oldLabel + ' (Customer visible)');
}
GlideForm - setReadOnly(文字列 fieldName, ブール値 readOnly)
指定したフィールドを読み取り専用または編集可能にします。
可能な場合は常に、このメソッドの代わりに UI ポリシーを使用してください。
必須フィールドを読み取り専用にするには、まず setMandatory() メソッドを使用してそのフィールドの必須要件を削除する必要があります。
フィールドを読み取り専用に設定すると、 setValue() メソッドを使用してそのフィールドの値を更新することはできません。この方法で値を設定する必要がある場合は、readOnly 値を false に設定する必要があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| readOnly | ブール | 関連付けフィールドが編集可能か読み取り専用かを決定するフラグ。 可能な値:
|
| タイプ | 説明 |
|---|---|
| なし |
次の例は、変数エディターを読み取り専用に設定する方法を示しています。サービスカタログテーブルでこれを行うには、setVariablesReadOnly() を使用します。
// Create a Client Script on a table (e.g., incident) and paste this script
// Uncheck (set to false) the "isolate script" checkbox (not available by default)
// To add the isolate script checkbox to the form, configure form layout to add the checkbox
function onLoad() {
$("variable_map").querySelectorAll("item").forEach(function(item){
var variable = item.getAttribute("qname");
g_form.setReadOnly("variables."+ variable, true);
});
}
GlideForm:setValue(文字列 fieldName, 文字列値)
指定されたフォームフィールドの値を渡された値に設定します。
このメソッドは、複数行の変数セット (MRVS) での値の設定もサポートしています。最初に JSON.parse(getValue('<mrvs_field_name>')) を使用して MRVS アレイを取得し、次にインデックス作成を使用して行オブジェクト内のフィールドを更新する必要があります。MRVS ですべての値が更新されたら、 setValue() メソッドを使用して更新された MRVS アレイを保存します。詳細については、以下のコード例を参照してください。
setValue(shortDesc, newValue.toUpperCase()); を実行する前に、簡単な説明がまだ大文字になっていないことを検証します。これにより、クライアントスクリプトが toUpperCase() を複数回適用するのを防ぐことができます。| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 更新するフォームフィールドの名前。 |
| 値 | 文字列 | 指定されたフィールドに設定する文字列値。 注: 選択リストに値を定義するときは、ラベルではなく数値を使用してください。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、現在のフォームで簡単な説明を設定する方法を示しています。
g_form.setValue('short_description', 'replace this with appropriate text');
次の例は、MRVS で値を設定する方法を示しています。この例では、給与はサービスカタログを通じて管理されています。クライアントスクリプトは、MRVS 内のすべての行で ジョブタイトル に入力された値を検索し、MRVS 内の一致するエントリーを [ 給与] フィールドに入力した値で更新します。MRVS の名前は「variable_set_1」で、各行オブジェクト内に従業員名 [employee_name]、役職 [employee_job_title]、給与 [employee_salary] のフィールドが含まれています。さらに、カタログアイテムには、役職 [job_title] と給与 [給与] が含まれます。
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
// Get the MRVS
var multiRowVariableSet = JSON.parse(g_form.getValue('variable_set_1'));
for (var i = 0; i < multiRowVariableSet.length; i++) {
// Check if the entered job title matches the title in the current MRVS row
if (multiRowVariableSet[i].employee_job_title == g_form.getValue("job_title")){
// Update the value of a matching field with the new salary
multiRowVariableSet[i].employee_salary = newValue;
}
}
// Update the MRVS
g_form.setValue('variable_set_1', JSON.stringify(multiRowVariableSet));
}
GlideForm:setVariablesReadOnly(ブール値:isReadOnly)
サービスカタログ変数エディターを読み取り専用にします。
メソッドは、要求アイテム [sc_req_item] やインシデント [incident] など、変数エディターが追加されるテーブルのクライアントスクリプトに配置する必要があります。変数を他のテーブルで読み取り専用に設定するには、 setReadOnly() メソッドを使用します。
関連項目: サービスカタログ変数エディター
| 名前 | タイプ | 説明 |
|---|---|---|
| isReadOnly | ブール | 変数エディターが読み取り専用かどうかを判断するフラグ。 可能な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| なし |
次の行をクライアントスクリプトに追加すると、変数エディターが読み取り専用に設定されます。
g_form.setVariablesReadOnly(true);
GlideForm - setVisible(文字列 fieldName, ブール表示)
フィールドを表示または非表示にします。
デスクトップ UI では、非表示にするとスペースは空白のままになります。モバイルまたはサービスポータル UI では、非表示にすると他のフィールドにスペースが入力されます。この方法では、値のない必須フィールドを非表示にすることはできません。
可能な限り、この方法ではなく UI ポリシーを使用してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールド名 |
| display | ブール | true の場合、フィールドが表示されます。false を指定するとフィールドが非表示になります。 |
| タイプ | 説明 |
|---|---|
| なし |
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
//If the page isn't loading
if (!isLoading) {
//If the new value isn't blank
if(newValue != '') {
g_form.setVisible('priority', false);
}
else
g_form.setVisible('priority', true);
}
}
GlideForm - showErrorBox(文字列名, 文字列メッセージ)
指定されたフォームフィールド (コントロールオブジェクトまたはフィールド名) の下にエラーメッセージを表示します。コントロールまたはフィールドが現在画面の外にある場合は、フォームがコントロールまたはフィールドにスクロールします。
フォームフィールドが画面外にあるときの自動メッセージスクロールを制御するグローバルプロパティ (glide.ui.scroll_to_message_field) を使用できます (フォームをコントロールまたはフィールドまでスクロールします)。showFieldMsg() メソッドは、型パラメーターを必要とする同様のメソッドです。
| 名前 | タイプ | 説明 |
|---|---|---|
| 名前 | 文字列 | コントロールまたはフィールドの名前。 |
| メッセージ | 文字列 | 表示するメッセージ。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm:showRelatedList(文字列 listTableName)
指定された関連リストをフォームに表示します。
この方法はモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行された場合、アクションは実行されません。
| 名前 | タイプ | 説明 |
|---|---|---|
| listTableName | 文字列 | 関連リストの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm:showRelatedLists()
フォームのすべての関連リストを表示します。
この方法はモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行された場合、アクションは実行されません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - submit()
レコードを保存します。
ユーザーはフォームから離れ、元の場所に戻されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - submit(文字列動詞)
パラメーターで指定された UI アクションを実行します。
| 名前 | タイプ | 説明 |
|---|---|---|
| verb | 文字列 | sys_ui_actionレコードからのaction_name。アクション名は、表示されるフォームボタンのものである必要があります。 |
| タイプ | 説明 |
|---|---|
| なし |