GlideForm (g_form): クライアント
GlideForm API はフォームをカスタマイズするメソッドを提供します。
クライアント上でのみ GlideForm メソッドを使用してください。これらのメソッドを使用して、レコードのフォームビューにカスタム変更を加えることができます。例のすべての検証は、クライアントスクリプトを使用して行われています。
これらのメソッドの一部は、他のクライアントスクリプト (カタログクライアントスクリプトやウィザードクライアントスクリプトなど) でも使用できますが、最初にこれをテストして、期待どおりに機能するかどうかを判断する必要があります。
GlideForm クラスにコンストラクターはありません。g_form グローバルオブジェクトを使用して GlideForm メソッドにアクセスします。
GlideForm - addDecoration(文字列 fieldName, 文字列 icon, 文字列 title)
フィールドのラベルにアイコンを追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールド名。 |
| アイコン | 文字列 | 指定したフィールドの横に表示するアイコンの名前。 有効な値:
|
| title | 文字列 | アイコンのタイトル。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addDecoration('caller_id', 'icon-star', 'preferred member');
GlideForm - addDecoration(文字列 fieldName, 文字列 icon, 文字列 title, 文字列 color)
フィールドのラベルにアイコンを追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールド名。 |
| アイコン | 文字列 | 指定したフィールドの横に表示するアイコンの名前。 有効な値:
|
| title | 文字列 | アイコンのタイトル。 |
| 色 | 文字列 | CSS カラー。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addDecoration('caller_id', 'icon-star', 'Mark as Favorite', 'color-green');
GlideForm - addErrorMessage(文字列 message)
指定されたエラーメッセージをフォームの上部に表示します。
このメッセージは約 4 秒間表示され、その後消えます。現時点でこのタイムアウトは設定できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| message | 文字列 | 表示するメッセージ。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addErrorMessage('This is an error');
GlideForm - addFormMessage(文字列メッセージ, 文字列型, オブジェクトオプション)
フォーム詳細セクションの上部に浮遊型のフォームメッセージを表示します。このメッセージには、UI アクションは表示されません。
| 名前 | タイプ | 説明 |
|---|---|---|
| メッセージ | 文字列 | 表示するメッセージ。 |
| タイプ | 文字列 | メッセージのタイプ 有効な値:
|
| オプション | オブジェクト | オプション。フォームメッセージに追加するボタンと、ボタンクリックを処理するために必要なメタデータ。 |
| options.buttons | アレイ | フォームメッセージに追加するボタンのリスト。 |
| options.buttons.actionName | 文字列 | クリックされたボタンを決定するために FORM_MESSAGE_BUTTON_CLICKED イベントハンドラーによって使用される名前。たとえば、actionName |
| options.buttons.label | 文字列 | ボタンに表示するテキスト。 |
| 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 - addHighMessage (文字列メッセージ)
フォームの上部に高優先度のメッセージが表示されます。
このメッセージは約 4 秒間表示され、その後消えます。現時点でこのタイムアウトは設定できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| メッセージ | 文字列 | フォームに表示する高優先度のメッセージ。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、フォームの上部に優先度の高いメッセージを表示する方法を示しています。
g_form.addHighMessage("This is a high priority message");
GlideForm - addInfoMessage(文字列 message)
指定された情報メッセージをフォームの上部に追加します。
このメッセージは約 4 秒間表示され、その後消えます。現時点でこのタイムアウトは設定できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| メッセージ | 文字列 | 表示するメッセージ。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addInfoMessage('The top five fields in this form are mandatory');
GlideForm - addLowMessage (文字列メッセージ)
優先度の低いメッセージをフォームの上部に表示します。
このメッセージは約 4 秒間表示され、その後消えます。現時点でこのタイムアウトは設定できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| メッセージ | 文字列 | フォームに表示する優先度の低いメッセージ。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、優先度の低いメッセージをフォームの上部に表示する方法を示しています。
g_form.addLowMessage(“This is a low priority message");
GlideForm - addModerateMessage(文字列メッセージ)
フォームの上部に中レベルの優先度のメッセージを表示します。
このメッセージは約 4 秒間表示され、その後消えます。現時点でこのタイムアウトは設定できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| メッセージ | 文字列 | フォームに表示する中優先度のメッセージ。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、フォームの上部に中程度の優先度のメッセージを表示する方法を示しています。
g_form.addModerateMessage("This is a moderate priority message");
GlideForm - addOption(文字列 fieldName, 文字列 choiceValue, 文字列 ChoiceLabel)
指定された選択リストフィールドの末尾に選択肢を追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 選択肢フィールドオプションを追加するフィールドの名前。 |
| choiceValue | 文字列 | データベースに格納する値。 |
| choiceLabel | 文字列 | 表示する値。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addOption('priority', '6', '6 - Really Low');
GlideForm - addOption(文字列 fieldName, 文字列 choiceValue, 文字列 ChoiceLabel, 数値 choiceIndex)
リストフィールドの指定された位置に選択肢を追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 選択肢フィールドオプションを追加するフィールドの名前。 |
| choiceValue | 文字列 | データベースに格納する値。 |
| choiceLabel | 文字列 | 表示する値。 |
| choiceIndex | 数値 | リスト内の選択肢の順序。インデックスは 0 から始まる配列です。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.addOption('priority', '2.5', '2.5 - Moderately High', 3);
GlideForm - addSuccessMessage(文字列メッセージ)
フォームの上部に成功メッセージが表示されます。
このメッセージは約 4 秒間表示され、その後消えます。現時点でこのタイムアウトは設定できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| メッセージ | 文字列 | フォームに表示する成功メッセージ。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、成功メッセージを確認するメッセージをフォームの上部に表示する方法を示しています。
g_form.addSuccessMessage("This is a success message");
GlideForm - clearAllFormMessages()
任意のタイプのすべてのフォームメッセージを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、フォームからすべてのメッセージをクリアする方法を示しています。
g_form.clearAllFormMessages();
GlideForm - clearFormMessages(文字列 type)
指定したタイプのすべてのフォームメッセージを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| タイプ | 文字列 | メッセージのタイプ 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし |
次の例は、フォームからすべてのエラーメッセージをクリアする方法を示しています。
g_form.clearFormMessages('error');
GlideForm - clearMessages()
フォームの上部からすべての情報メッセージとエラーメッセージを削除します。
g_form.addInfoMessage() および g_form.addErrorMessage() で追加された情報メッセージとエラーメッセージを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
g_form.clearMessages();
GlideForm - clearOptions(文字列 fieldName)
指定された選択リストからすべてのオプションを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 選択オプションをクリアするフィールドの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - clearValue(文字列 fieldName)
指定されたフィールドから値を削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | クリアするフィールドの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - disableAttachments()
添付ファイルがフォームに追加されないようにします。
このメソッドはモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行されても、何も起こりません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - disableChoice(String fieldName, String choiceValue)
選択肢が存在する場合、プログラムによりドロップダウン フィールドの特定の選択肢が無効になります。選択が既に無効になっている場合、変更は行われません。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 無効にする選択肢のフィールド名。 データタイプ:文字列 |
| choiceValue | 文字列 | 無効にする選択肢の値。 データタイプ:文字列 |
| タイプ | 説明 |
|---|---|
| ブール | 指定された選択肢がフォームで無効かアクティブかを示すフラグ。 有効な値:
データタイプ:ブーリアン |
次の例では、 disableChoice() を呼び出して、delivery_locationフォームフィールドのloading_dock選択肢を無効にします。
if (g_form.getValue('address_type') == 'home') {
g_form.disableChoice('delivery_location', 'loading_dock');
}
// Only itil_admin users can select the "Closed" option
function onLoad() {
if (g_user.hasRole('itil_admin')) return;
if (g_form.getValue('incident_state') != '7')
g_form.disableChoice('incident_state', 7);
if (g_form.getValue('state') != '7') {
g_form.disableChoice('state', 7);
}
}
GlideForm - enableAttachments()
添付ファイルをフォームに追加することができます。ペーパークリップアイコンを表示します。
このメソッドはモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行されても、何も起こりません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - enableChoice(文字列 fieldName, 文字列 choiceValue)
選択肢が存在する場合、プログラムによりドロップダウン フィールドで特定の選択肢が有効になります。このオプションが既に有効になっている場合は、変更は行われません。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 有効にする選択肢のフィールド名。 |
| choiceValue | 文字列 | 有効にする選択肢の値。 |
| タイプ | 説明 |
|---|---|
| ブール | 指定された選択肢が正常に有効になっているかどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン |
次の例では、enable() を呼び出して、優先度フォームフィールドで新しいドロップダウン選択肢 1 を有効にします。
var shortDescription = g_form.getValue('shortDescription');
// Allow priority 1 selection if short description mentions security
if (shortDescription.includes('security')) {
var p1Choice = g_form.getChoice('priority', '1');
g_form.enableChoice('priority', '1');
}
GlideForm - flash(文字列 fieldName, 文字列 color, 数値 count)
フィールドに注意を引くために使用します。指定されたフィールドを指定された時間、指定された色で点滅させます。
このメソッドは サービスカタログ ではサポートされていません。
このメソッドはモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行されても、何も起こりません。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 「<table-name>.<field-name>」の形式でハイライト表示するフィールド。 |
| 色 | 文字列 | RGB カラーまたは許容される CSS カラー。 |
| カウント | 番号 | ラベルが点滅する時間。 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし |
g_form.flash("incident.number", "#FFFACD", 0);
GlideForm - getActionName()
最新のアクション名を返します。クライアントスクリプトの場合はクリックされた UI アクションの sys_id を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | クリックされた UI アクションの現在のアクション名または UI アクションのsys_id。 |
function onSubmit() {
var action = g_form.getActionName();
alert('You pressed ' + action);
}
GlideForm - getAnnotationByName(文字列名)
指定された名前のフォーム注釈を返します。
注釈 は、フォーム要素間の視覚的なセパレーター、またはフォーム要素を強調表示するために使用される色付きのテキストのブロックです。GlideForm - getAnnotationByName(文字列名)を使用して、フォーム内のすべての注釈を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 名前 | 文字列 | 返される注釈の名前。 テーブル:フォーム注釈 [sys_ui_annotation]、フィールド: 名前 |
| プロパティ | 説明 |
|---|---|
| オブジェクトのアレイ | 注釈のコンテンツ。 データタイプ:オブジェクトのアレイ |
| array.content | 返される注釈のテキスト。 データタイプ:文字列 |
| array.name | 返される注釈の名前。 データタイプ:文字列 テーブルの場所:フォーム注釈 [sys_ui_annotation]、フィールド: 名前 |
| array.visible |
注釈がフォームに表示されるかどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン |
次の例は、 getAnnotationByName() メソッドを使用して、指定された名前 test-annotation-msg-1 に従ってフォーム注釈を取得する方法を示しています。
var sampleAnnotation = g_form.getAnnotationByName("test-annotation-msg-1");
/* returns:
{
"name": "test-annotation-msg-1",
"visible": true,
"content": "Test<input id=\"make_spacing_ok\" style=\"visibility:hidden; width:0px;\">"
}
*/
GlideForm - getAnnotations()
フォーム上のすべての注釈のリストを返します。
注釈 は、フォーム要素間の視覚的なセパレーター、またはフォーム要素を強調表示するために使用される色付きのテキストのブロックです。GlideForm - getAnnotationByName(文字列名)を使用して、特定の注釈をその名前で返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| プロパティ | 説明 |
|---|---|
| オブジェクトのアレイ | 注釈のコンテンツ。 データタイプ:オブジェクトのアレイ |
| array.content | 返される注釈のテキスト。 データタイプ:文字列 |
| array.name | 返される注釈の名前。 データタイプ:文字列 テーブルの場所:フォーム注釈 [sys_ui_annotation]、フィールド: 名前 |
| array.visible |
注釈がフォームに表示されるかどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン |
次の例では、最初に getAnnotations() を呼び出してフォーム内のすべての注釈を返し、 次に hideAnnotation() を呼び出してフォーム内のすべての注釈を非表示にします。
const annotations = getAnnotations();
/* returns:
[
{
"name": "test-annotation-msg-1",
"visible": true,
"content": "Test<input id=\"make_spacing_ok\" style=\"visibility:hidden; width:0px;\">"
},
{
"name": "test-annotation-msg-2",
"visible": true,
"content": "Test 2<input id=\"make_spacing_ok\" style=\"visibility:hidden; width:0px;\">"
}
]*/
annotations.forEach(function(annotation) {
g_form.hideAnnotation(annotation.name);
});
// this script hides all annotations on the form.
GlideForm - getBooleanValue(文字列 fieldName)
指定されたフィールドのブーリアン値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 「<table-name>.<field-name>」の形式でハイライト表示するフィールド。 |
| タイプ | 説明 |
|---|---|
| ブール | フィールド値が false または undefined の場合は false を返します。それ以外の場合は true を返します。 |
GlideForm - getChoice(String fieldName, String choiceValue)
指定されたフィールドと選択値を表すプロパティを持つオブジェクトを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 取得する選択肢のフィールド名。 |
| choiceValue | 文字列 | 取得する選択肢の値。 |
| プロパティ | 説明 |
|---|---|
| GlideFormChoice オブジェクトまたは null | 指定されたフィールドと選択値の GlideFormChoice オブジェクト。一致する選択肢がない場合は null を返します。 データタイプ: オブジェクト |
| GlideFormChoice.label | 選択した読み取り専用表示テキスト。 データタイプ:文字列 |
| GlideFormChoice.value | 選択肢の読み取り専用値。 データタイプ:文字列 |
| GlideFormChoice.disabled | フォームで選択肢が無効かどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン |
| GlideFormChoice.index | ドロップダウン内の選択肢の位置を示します。 データタイプ:数値 |
次の例では、enable() を呼び出して、優先度フォームフィールドで新しいドロップダウン選択肢 1 を有効にします。
var shortDescription = g_form.getValue('shortDescription');
// Allow priority 1 selection if short description mentions security
if (shortDescription.includes('security')) {
var p1Choice = g_form.getChoice('priority', '1');
g_form.enableChoice('priority', '1');
}
GlideForm - getControl(文字列 fieldName)
指定されたフィールドの HTML 要素を返します。
複合フィールドには複数の HTML 要素を含めることができます。フォーム上でフィールドを使用する組み込みメソッドがあるため、このメソッドは通常必要ありません。
フィールドが参照フィールドであり、コントロールが選択リストである場合、getControl() は想定どおりにコントロールを返さないことがあります。この場合、sys_select.<table name>.<フィールド名> を使用します。
このメソッドは、モバイルスクリプトまたは サービスポータル スクリプトでは使用できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | HTML 要素を返すフィールドの名前。 |
| タイプ | 説明 |
|---|---|
| HTMLElement | フィールドの HTML 要素。 |
GlideForm - getDecimalValue(文字列 fieldName)
指定されたフィールドの 10 進数値を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 10 進数値を返すフィールドの名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 指定されたフィールドの 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。 |
| タイプ | 説明 |
|---|---|
| HTMLElement | フィールドの HTML 要素。 |
GlideForm - getFormElement()
フォームの HTML 要素を返します。
このメソッドは、モバイルスクリプトまたは サービスポータル スクリプトでは使用できません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| HTMLFormElement | フォームの HTML 要素。 |
GlideForm - getHelpTextControl(文字列 fieldName)
指定されたフィールドのヘルプテキストの HTML 要素を返します。
このメソッドはサービスカタログ変数にのみ適用されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| タイプ | 説明 |
|---|---|
| HTMLElement | ヘルプテキストフィールドの 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, 文字列 choiceValuel)
choiceValue がオプション値に一致する、選択された fieldName という名前のボックスのオプション要素を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| choiceValue | 文字列 | オプションの値。 |
| タイプ | 説明 |
|---|---|
| HTMLElement | オプションの 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 - getOptions(文字列 fieldName)
フォームの選択肢フィールドまたは参照フィールドで使用可能なオプションと選択されたオプションを返します。この方法は、動的フォーム、カタログ変数と変数セット、および実行時にフィールドオプションの検査またはフィルタリングを必要とする統合に役立ちます。
たとえば、 g_form.getOptions() を使用して次のことができます。
- watch_listフィールドタイプの名前と値のペアを取得および設定します。
- 利用可能なオプションを検索用語で検索またはフィルタリングします。
- コールバックを介して同じオートコンプリート結果にアクセスできるようにします。
- 選択フィールド、参照フィールド、および高度なフィールドタイプ (watch_list、glide_list、field_list、スラッシュバケットなど) のオプションを取得および設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 取得する選択肢または参照フィールドのフィールド名。 |
| プロパティ | 説明 |
|---|---|
| オブジェクトのアレイまたは null | 選択した各オプションの値とラベルを含む、読み取り専用のオブジェクトのアレイ。フィールドがオプションをサポートしていない場合は null を返します。 データタイプ:オブジェクトのアレイ |
| array.displayValue | 選択肢の表示値。 データタイプ:文字列 |
| array.value | オプションの値。 データタイプ:文字列 |
| getAvailable(term) | 利用可能なすべてのオプションを返すための関数。検索用語は、表示値 (大文字と小文字を区別しないサブ文字列の一致) でオプションをフィルタリングするための引数として指定できます。一致する選択肢の表示値と値を持つオブジェクトの配列の Promise を返します。 データタイプ:オブジェクトのアレイ |
次の例では、 g_form.getOptions() を呼び出して、指定されたフォームフィールド (ステータス、work_notes_listなど) で使用可能なすべての選択肢を返します。
g_form.getOptions("state"); //table: incident, field: state, type: integer, choice: Dropdown without --None--
/*
returns [{"value":"1","displayValue":"New"},{"value":"2","displayValue":"In Progress"},{"value":"3","displayValue":"On Hold"},{"value":"6","displayValue":"Resolved"},{"value":"7","displayValue":"Closed"},{"value":"8","displayValue":"Canceled"}]
*/
g_form.getOptions("category"); //table: incident, field: category, type: string, choice: Dropdown with --None--
/*
returns [{"value":"","displayValue":"-- None --"},{"value":"inquiry","displayValue":"Inquiry / Help"},{"value":"software","displayValue":"Software"},{"value":"hardware","displayValue":"Hardware"},{"value":"network","displayValue":"Network"},{"value":"database","displayValue":"Database"}]
*/
g_form.getOptions("work_notes_list") //table: incident, field: work_notes_list, type: glide_list
/*
returns [{"value":"62826bf03710200044e0bfc8bcbe5df1","displayValue":"Abel Tuter"},{"value":"a8f98bb0eb32010045e1a5115206fe3a","displayValue":"Abraham Lincoln"},{"value":"5137153cc611227c000bbd1bd8cd2005","displayValue":"Fred Luddy"},{"value":"6a826bf03710200044e0bfc8bcbe5dec","displayValue":"Alissa Mountjoy"}]
*/
g_form.getOptions("restricted_fields") //table: std_change_properties, field: restricted_fields, type: field_list
/*
[{"value":"activity_due","displayValue":"Activity due"},{"value":"additional_assignee_list","displayValue":"Additional assignee list"},{"value":"comments","displayValue":"Additional comments"},{"value":"assignment_group","displayValue":"Assignment group"},{"value":"backout_plan","displayValue":"Backout plan"},{"value":"business_duration","displayValue":"Business duration"},{"value":"cab_delegate","displayValue":"CAB delegate"},...]
*/
g_form.getOptions('table') //table: sys_script_client, field: table, type: table_name
/*
[{"value":"","displayValue":"-- None --"},{"value":"cmdb_ci_appl_dot_net","displayValue":".NET Application [cmdb_ci_appl_dot_net]"},{"value":"evaluation","displayValue":"A/B Testing Evaluation [evaluation]"},{"value":"evaluation_execution","displayValue":"A/B Testing Evaluation Execution [evaluation_execution]"},{"value":"evaluation_parameter","displayValue":"A/B Testing Evaluation Parameter [evaluation_parameter]"},{"value":"sn_access_analyzer_request","displayValue":"Access Analyzer Query [sn_access_analyzer_request]"},{"value":"sn_access_analyzer_access_comparison_request","displayValue":"Access Comparison Request [sn_access_analyzer_access_comparison_request]"},{"value":"sys_security_acl","displayValue":"Access Control [sys_security_acl]"},...]
*/
g_form.getOptions('mandatory_fields'); //table: kb_knowledge_base, field: mandatory_fields, type: slushbucket
/*
[{"value":"active","displayValue":"Active"},{"value":"article_id","displayValue":"Article ID"},{"value":"displayValue","displayValue":"Article body"},{"value":"article_type","displayValue":"Article type"},{"value":"direct","displayValue":"Attachment link"},{"value":"author","displayValue":"Author"},{"value":"base_version","displayValue":"Base Version"},...]
*/
次のスクリプト例は、getAvailable() 関数を使用して g_form.getOptions() を呼び出す方法を示しています。
const options = g_form.getOptions('priority');
if (options) {
console.log('Selected:', options.selected);
options.getAvailable('high').then(available => {
console.log('Available matching "high":', available);
});
}
GlideForm - getReference(文字列 fieldName, 関数 callBack)
指定されたフィールドの GlideRecord を返します。
コールバック関数が存在する場合、このルーチンは非同期で実行されます。ブラウザー (およびスクリプト) の処理はサーバーが参照値を返すまで続行され、その時点でコールバック関数が呼び出されます。コールバック関数が存在しない場合、このルーチンは同期的に実行され、サーバーの応答を待機している間は処理が停止します (ブラウザーがハングアップしているように見えます)。
ServiceCatalogForm.getReference のコールバック関数が利用可能です。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| callBack | 関数 | コールバック関数の名前。 |
| タイプ | 説明 |
|---|---|
| GlideRecord | 指定されたフィールドの 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 から値を取得する方法を示しています。この例では、給与は Service Catalog を介して管理されています。クライアントスクリプトは、MRVS 内のすべての行で ジョブタイトル に入力された値を検索し、MRVS 内の一致するエントリーを [給与 ] フィールドに入力された内容で更新します。MRVS には「variable_set_1」という名前が付けられ、各行オブジェクト内に従業員名 [employee_name]、ジョブタイトル [employee_job_title]、および給与 [employee_salary] のフィールドが含まれています。さらに、カタログアイテムには、ジョブタイトル [job_title] と給与 [salary] が含まれています。
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(文字列 type)
指定されたタイプのすべてのフィールドメッセージを非表示にします。
| 名前 | タイプ | 説明 |
|---|---|---|
| タイプ | 文字列 | >メッセージのタイプ。 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - hideAnnotation(文字列名)
指定された名前の注釈をフォーム UI で非表示にします。
- GlideForm - showErrorBox(文字列 name, 文字列 message, ブーリアン scrollForm) をクリックして、フォームに特定の注釈を表示します。
- GlideForm - toggleAnnotations() により、注釈のオンとオフをより柔軟に切り替えることができます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 名前 | 文字列 | フォームで非表示にする注釈の名前。 テーブル:フォーム注釈 [sys_ui_annotation]、フィールド: 名前 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、 hideAnnotation() メソッドを使用して、フォームフィールド上の test-annotation-msg-1 という名前のアノテーションをプログラムで非表示にする方法を示しています。
g_form.hideAnnotation('test-annotation-msg-1');
GlideForm - hideErrorBox(文字列 fieldName)
showErrorBox() によって出されたエラーメッセージを非表示にします。
可能な限り、このメソッドではなく hideFieldMsg() を使用してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | エラーメッセージを非表示にするフィールドまたはコントロールの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - hideFieldMsg(文字列 fieldName, ブーリアン clearAll)
現在のフォームの指定されたフィールドに表示される最初のメッセージを非表示にします。
フォームにメッセージを表示するには、 GlideForm - showFieldMsg(文字列 field, 文字列 message, 文字列 type) メソッドまたは GlideForm - showFieldMsg(文字列 field, 文字列 message, 文字列 type, ブーリアン 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 - hideRelatedLinks()
フォームの [関連リンク] セクションを非表示にします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次のスクリプト例では、現在のフォーム内の関連リンクを非表示にします。
// Hide related links
g_form.hideRelatedLinks()
GlideForm - hideRelatedList(文字列 listTableName)
フォームの指定された関連リストを非表示にします。
このメソッドはモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行されても、何も起こりません。
| 名前 | タイプ | 説明 |
|---|---|---|
| listTableName | 文字列 | 関連リストの名前。sys_id を使用し、関係を介してリストを非表示にします。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - hideRelatedLists()
フォーム上のすべての関連リストを非表示にします。
このメソッドはモバイルプラットフォームでは利用できません。このメソッドがモバイルプラットフォームで実行されても、何も起こりません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - hideTemplateBar()
フォームのテンプレートバーを非表示にします。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次のスクリプト例では、現在のフォームのテンプレートバーを非表示にします。
g_form.hideTemplateBar()
GlideForm - isLiveUpdating()
フォームに表示されているレコードのライブ更新中に true を返します。
これを onChange() クライアントスクリプトで使用して、レコードの変更が別のセッションからのライブ更新によるものかどうかを判断できます。その後、クライアントスクリプトは実行するアクションまたは実行しないアクションを決定できます。これは、ライブフォームが有効になっている コア UI を使用するシステムに適用されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| ブール | フォームに表示されているレコードでライブ更新が行われている場合は true を返します。 |
GlideForm - isMandatory(文字列 fieldName)
フィールドが必須の場合は true を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 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, 文字列 icon, 文字列 title)
指定されたフィールドから、指定されたアイコンとタイトルに一致するアイコンを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 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, 文字列 icon, 文字列 title, 文字列 color)
指定されたフィールドから、指定されたアイコン、タイトル、および色に一致するアイコンを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 装飾を削除するフィールド名。 |
| アイコン | 文字列 | 削除するアイコンの名前。 |
| title | 文字列 | アイコンのテキストタイトル (名前)。 |
| 色 | 文字列 | 一致する CSS カラー。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.removeDecoration('caller_id', 'icon-star', 'VIP', 'blue');
GlideForm - removeOption(文字列 fieldName, 文字列 choiceValuel)
指定された選択肢リストから指定されたオプションを削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 選択リストからオプションを削除するフィールドの名前。 |
| choiceValue | 文字列 | データベースに格納されている値。これはラベルではありません。 |
| タイプ | 説明 |
|---|---|
| なし |
g_form.removeOption('priority', '1');
GlideForm - save()
移動せずにレコードを保存します (更新して留まる)。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - setChoiceLabel(String fieldName, String choiceValue, String newLabel)
ドロップダウンフィールドの特定の選択肢のラベルを更新します。
このメソッドを呼び出すと、ドロップダウン内の更新されたオプションのインデックス位置は変更されません。このオプションの有効または無効のステータスは保持されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 更新する選択肢を含むフィールド名。 データタイプ:文字列 |
| choiceValue | 文字列 | 新しいラベルで更新する選択肢ラベルの値。 データタイプ:文字列 |
| 新しいラベル | 文字列 | 既存の選択肢ラベルを更新するラベル名。 データタイプ:文字列 |
| タイプ | 説明 |
|---|---|
| ブール | オプションラベルが正常に更新されたかどうかを示すフラグ。 有効な値:
|
次の例では、setChoiceLabel() を呼び出して、「ボーナス」フィールドの選択肢 (10、20、および 30) を新しい値に更新します。
// Show the calculated bonus next to the percentage label
var salary = parseInt(g_form.getValue('salary'), 10);
g_form.setChoiceLabel('bonus', '10', '10% ($'+ (salary * .10) +')');
g_form.setChoiceLabel('bonus', '20', '20% ($'+ (salary * .20) +')');
g_form.setChoiceLabel('bonus', '30', '30% ($'+ (salary * .30) +')');
GlideForm - setDisabled(文字列 fieldName, ブーリアン disable)
指定されたフィールドを使用可能または使用不可にします。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 有効または無効にするフィールドの名前。 |
| 無効化 | ブール | 指定されたフィールドを無効にするかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - setDisplay(文字列 fieldName, ブーリアン display)
フォームの指定されたフィールドを表示または非表示にします。
このメソッドでは、値のない必須フィールドを非表示にすることはできません。フィールドが非表示の場合、スペースは他のアイテムを表示するために使用されます。可能な限り、このメソッドの代わりに UI ポリシーを使用してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | フィールドの名前 |
| 表示 | ブール | 指定したフィールドを表示するかどうかを示すフラグ。 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし |
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(文字列 fieldName, 文字列 label)
指定されたフィールドラベルのプレーンテキスト値を設定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | ラベルを設定するフィールドの名前。 |
| ラベル | 文字列 | ラベルに設定するプレーンテキスト値。 |
| タイプ | 説明 |
|---|---|
| なし |
if (g_user.hasRole('itil')) {
var oldLabel = g_form.getLabelOf('comments');
g_form.setLabelOf('comments', oldLabel + ' (Customer visible)');
}
GlideForm - setMandatory(文字列 fieldName, ブーリアン mandatory)
指定されたフィールドを必須にします。
可能な限り、このメソッドでなく UI ポリシーを使用してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 必須にするフィールドの名前。 |
| 必須 | ブール | フィールドが必須かどうかを示すフラグ。 有効な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| なし |
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:setRelatedLinksDisplay(ブール表示)
ブール値を使用して、フォーム UI の [関連リンク] セクションを表示または非表示にします。
GlideForm - hideRelatedLinks() 関連リンク UI アクションをフォームで非表示にし、関連リンク UI アクションを表示します GlideForm - showRelatedLinks() 。ただし、 g_form.setRelatedLinksDisplay(boolean: display) メソッドを使用すると、スクリプトをより柔軟に関連リンクを表示または非表示にすることができます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 表示 | ブール | フォームの [関連リンク] セクションを表示するか非表示にするかを示すフラグ。 有効な値:
デフォルト:true |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、フォームの [関連リンク] セクションを表示または非表示にする方法を示しています。
// Displays the Related Links section in the UI
g_form.setRelatedLinksDisplay(true);
// Hides the Related Links section in the UI
g_form.setRelatedLinksDisplay(false);
GlideForm - setSectionDisplay(文字列 sectionName, ブーリアン display)
フォームの指定されたセクションを表示または非表示にします。
| 名前 | タイプ | 説明 |
|---|---|---|
| sectionName | 文字列 | セクション名は小文字で、名前の最初のスペースがアンダースコアで置き換えられ、残りのスペースは削除されます。たとえば、「セクション 4 はこちら」は「section_fourishere」になります。アンパサンド (&) など、その他の英数字以外の文字は削除されます。セクション名は、getSectionNames() メソッドを使用して見つけることができます。 |
| 表示 | ブール | セクションを表示するかどうかを示すフラグ。 有効な値:
|
| タイプ | 説明 |
|---|---|
| ブール | 成功した場合は true を返します。 |
GlideForm - setValue(文字列 fieldName, 文字列 value)
指定されたフォームフィールドの値を指定された値に設定します。
このメソッドは、複数行の変数セット (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 で値を設定する方法を示しています。この例では、給与は Service Catalog を介して管理されています。クライアントスクリプトは、MRVS 内のすべての行で ジョブタイトル に入力された値を検索し、MRVS 内の一致するエントリーを [給与 ] フィールドに入力された内容で更新します。MRVS には「variable_set_1」という名前が付けられ、各行オブジェクト内に従業員名 [employee_name]、ジョブタイトル [employee_job_title]、および給与 [employee_salary] のフィールドが含まれています。さらに、カタログアイテムには、ジョブタイトル [job_title] と給与 [salary] が含まれています。
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 - setValue(文字列 fieldName, 文字列 value, 文字列 displayValue)
指定されたフォームフィールドの値を参照レコードの指定された表示値に設定します。
参照フィールドの値を設定するときに往復を防止してパフォーマンスを向上させるには、setValue(fieldName, value) ではなくこのメソッドを使用します。リストコレクターフィールドに複数の参照値を設定する場合は、value パラメーターおよび displayValue パラメーターでアレイを渡します。
onchange クライアントスクリプトで使用するとスタックオーバーフローを引き起こす可能性があります。これは、値が設定されるたびに変更として登録され、OnChange クライアントスクリプトが再トリガーされるためです。これを防ぐには、新しい値が古い値と異なることを検証するチェックを実行します。たとえば、setValue(shortDesc, newValue.toUpperCase()); を実行する前に、簡単な説明が大文字になっていないことを確認します。これにより、クライアントスクリプトが toUpperCase() を複数回適用することを防ぎます。| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 更新するフォームフィールドの名前。 |
| 値 | 文字列またはアレイ | フィールドを更新するために使用する参照レコードの sys_id。 指定されたフィールドが GlideList の場合、このパラメーターには sys_id のアレイを含めることができます。この場合、メソッドはアレイ内で指定されたすべてのレコードのルックアップを実行し、それらの値を使用して指定されたフィールド (関連リスト) の内容を更新します。 注:
選択リストで値を定義するときは、ラベルではなく数値を使用してください。 |
| displayValue | 文字列またはアレイ | 指定されたフィールドを更新するために使用される、指定された参照レコード内のフィールド。たとえば、ユーザー [sys_user] テーブルでは userName になります。 指定されたフィールドが GlideList の場合、このパラメーターには表示値名のアレイを含めることができます。 表示値の詳細については、「 表示値」を参照してください。 |
| タイプ | 説明 |
|---|---|
| なし |
この例では、[assigned_to] フォームフィールドを更新するために使用する [userName] フィールドを含む参照レコードの sys_id を渡しています。
g_form.setValue('assigned_to', userSysID, userName);
この例では、GlideList の [glide-list_field_name] フォームフィールドを更新するために使用する、参照レコード sys_id のアレイと対応する表示値名のアレイを渡します。
g_form.setValue('glide-list_field_name', sysIDArray, displayNameArray);
GlideForm - setVariablesReadOnly(ブーリアン isReadOnly)
サービスカタログ変数エディターを読み取り専用にします。
メソッドは、要求アイテム [sc_req_item]、インシデント [incident] など、変数エディターが追加されるテーブルのクライアントスクリプトに配置する必要があります。他のテーブルで変数を読み取り専用に設定するには、 setReadOnly() メソッドを使用します。
関連項目: サービスカタログ変数エディター
| 名前 | タイプ | 説明 |
|---|---|---|
| isReadOnly | ブーリアン | 変数エディターが読み取り専用かどうかを決定するフラグ。 有効な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| なし |
次の行をクライアントスクリプトに追加すると、変数エディターが読み取り専用に設定されます。
g_form.setVariablesReadOnly(true);
GlideForm - setVisible(文字列 fieldName, ブーリアン display)
指定されたフィールドを表示または非表示にします。
デスクトップ UI では、非表示の場合は空白のままになります。モバイルや サービスポータル UI では、非表示にすると他のフィールドにスペースが入力されます。この方法では、値のない必須フィールドを非表示にすることはできません。
可能な限り、このメソッドでなく UI ポリシーを使用してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| fieldName | 文字列 | 表示または非表示にするフィールドの名前。 |
| 表示 | ブール | 指定したフィールドを表示するかどうかを示すフラグ。 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし |
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 - showAnnotation(文字列名)
指定された名前の注釈をフォーム UI に表示します。
- GlideForm - hideAnnotation(文字列名) でフォーム上の特定の注釈を非表示にします。
- GlideForm - toggleAnnotations() により、注釈のオンとオフをより柔軟に切り替えることができます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 名前 | 文字列 | フォームに表示する注釈の名前。 テーブル:フォーム注釈 [sys_ui_annotation]、フィールド: 名前 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、 showAnnotation() メソッドを使用して、フォームフィールドに test-annotation-msg という名前の注釈をプログラムで表示する方法を示しています。
g_form.showAnnotation('test-annotation-msg');
GlideForm - showErrorBox(文字列 name, 文字列 message, ブーリアン scrollForm)
指定されたフォームフィールド (コントロールオブジェクトまたはフィールドの名前) の下にエラーメッセージを表示します。コントロールまたはフィールドが現在画面外にあり、 scrollForm パラメーターが true の場合、フォームはコントロールまたはフィールドまでスクロールします。
グローバルプロパティ (glide.ui.scroll_to_message_field) はフォームフィールドが画面外にある場合の自動メッセージのスクロール (フォームからコントロールまたはフィールドまでスクロール) を制御するために利用できます。showFieldMsg() メソッドは type パラメーターを必要とする同様のメソッドです。
| 名前 | タイプ | 説明 |
|---|---|---|
| 名前 | 文字列 | エラーメッセージを表示するフィールドまたはコントロールの名前。 |
| メッセージ | 文字列 | 表示するエラー メッセージ。 |
| scrollForm | ブール | エラーメッセージフィールドにフォームを自動的にスクロールするかどうかを示すフラグ。 有効な値:
デフォルト:true |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - showErrorBox(文字列 name, 文字列 message)
指定されたフォームフィールド (コントロールオブジェクトまたはフィールドの名前) の下にエラーメッセージを表示します。コントロールまたはフィールドが現在画面外にある場合、フォームは自動的にコントロールまたはフィールドまでスクロールします。
グローバルプロパティ (glide.ui.scroll_to_message_field) はフォームフィールドが画面外にある場合の自動メッセージのスクロール (フォームからコントロールまたはフィールドまでスクロール) を制御するために利用できます。showFieldMsg() メソッドは type パラメーターを必要とする同様のメソッドです。
| 名前 | タイプ | 説明 |
|---|---|---|
| 名前 | 文字列 | エラーメッセージを表示するフィールドまたはコントロールの名前。 |
| メッセージ | 文字列 | 表示するエラー メッセージ。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - showFieldMsg(文字列 field, 文字列 message, 文字列 type)
指定されたフォームフィールド (コントロールオブジェクトまたはフィールドの名前) の下にメッセージを表示します。コントロールまたはフィールドが画面外にある場合、メソッドはフォームをそのフィールドまで自動的にスクロールします。
グローバルプロパティ (glide.ui.scroll_to_message_field) はフォームフィールドが画面外にある場合の自動メッセージのスクロール (フォームからコントロールまたはフィールドまでスクロール) を制御するために利用できます。
showErrorBox() メソッドは type パラメーターを必要としない短縮形のメソッドです。
| 名前 | タイプ | 説明 |
|---|---|---|
| field | 文字列 | メッセージを表示するフィールドまたはコントロールの名前。 |
| メッセージ | 文字列 | 表示するメッセージ。 |
| タイプ | 文字列 | メッセージのタイプ 有効な値:
|
| タイプ | 説明 |
|---|---|
| なし |
g_form.showFieldMsg('impact','Low impact response time can be one week','info');
GlideForm - showFieldMsg(文字列 field, 文字列 message, 文字列 type, ブーリアン scrollForm)
指定されたフォームフィールド (コントロールオブジェクトまたはフィールドの名前) の下にメッセージを表示します。コントロールまたはフィールドが現在画面外にあり、 scrollFormが true の場合、メソッドはフォームをそのフィールドまでスクロールします。
グローバルプロパティ (glide.ui.scroll_to_message_field) はフォームフィールドが画面外にある場合の自動メッセージのスクロール (フォームからコントロールまたはフィールドまでスクロール) を制御するために利用できます。
showErrorBox() メソッドは type パラメーターを必要としない短縮形のメソッドです。
| 名前 | タイプ | 説明 |
|---|---|---|
| field | 文字列 | メッセージを表示するフィールドまたはコントロールの名前。 |
| メッセージ | 文字列 | 表示するメッセージ。 |
| タイプ | 文字列 | メッセージのタイプ 有効な値:
|
| scrollForm | ブール | フォームをメッセージフィールドに自動的にスクロールするかどうかを示すフラグ。 有効な値:
デフォルト:true |
| タイプ | 説明 |
|---|---|
| なし |
g_form.showFieldMsg('impact','Low impact not allowed with High priority','error',false);
GlideForm - showRelatedLinks()
フォームの [関連リンク] セクションを表示します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次の例では、フォーム UI に関連リンクを表示します。
// Show related links
g_form.showRelatedLinks()
GlideForm - showRelatedList(文字列 listTableName)
指定された関連リストをフォームに表示します。
このメソッドは、モバイルプラットフォームでは使用できません。このメソッドがモバイルプラットフォームで実行されても、何も起こりません。
| 名前 | タイプ | 説明 |
|---|---|---|
| listTableName | 文字列 | 表示する関連リストの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - showRelatedLists()
フォームの関連リストをすべて表示します。
このメソッドは、モバイルプラットフォームでは使用できません。このメソッドがモバイルプラットフォームで実行されても、何も起こりません。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - showTemplateBar()
非表示にすると、フォームの下部にテンプレートバーが表示されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次のスクリプト例では、現在のフォームの下部にテンプレートバーを表示します。
g_form.showTemplateBar()
GlideForm - submit()
レコードを保存します。
フォームから離れて元の場所に戻ります。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - submit(文字列 verb)
指定された UI アクションを実行します。
| 名前 | タイプ | 説明 |
|---|---|---|
| verb | 文字列 | sys_ui_action レコードからの action_name。アクション名は、表示されるフォームボタンを対象とする必要があります。 |
| タイプ | 説明 |
|---|---|
| なし |
GlideForm - toggleAnnotations()
フォーム上のすべての注釈を表示または非表示にします。
注釈 は、フォーム要素間の視覚的なセパレーター、またはフォーム要素を強調表示するために使用される色付きのテキストのブロックです。注釈がフォームに表示されている場合は、 toggleAnnotations() を呼び出すと非表示になります。同様に、注釈がフォームで非表示になっている場合、このメソッドを呼び出すと注釈が表示されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、 toggleAnnotations() を呼び出してフォーム注釈を表示または非表示にする方法を示しています。その結果、注釈は以前のステータスに応じて非表示または表示されます。
g_form.toggleAnnotations();