4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【ServiceNow】Client Scriptでのフォーム画面カスタマイズ(装飾、メッセージ)

Posted at

概要

ServiceNowのフォーム画面について、ディクショナリの設定でフィールドの必須入力化や文字数上限設定などができますが、
他にもClient Scriptでフィールドを装飾したりメッセージを表示させることなどが可能になります。
カスタマイズにはGlideForm APIを用います。

以下、どのAPIでどのような見た目になるのか、備忘録的にまとめていきます。

環境

PDIで作成しています。
バージョンはSan Diegoです。
System Administrator(admin)で操作しています。

1.フィールド名の横にアイコンを表示させる

addDecoration('フィールド名', 'アイコン', 'タイトル','色')

パラメータ 説明 タイプ
フィールド名 アイコンを表示させたいフィールド名 String
アイコン フィールド名の左側に表示させるアイコンの種類(下記の画像参照) String
タイトル カーソルをアイコンにあてた際に表示させる文言 String
アイコンの色(color-RGBカラー名、もしくはCSSカラーで入力) String

画面のイメージ
image.png

Client Scriptのイメージ

function onLoad(){
    g_form.addDecoration('number','icon-star','星のアイコンです','color-yellow');
}

上記イメージでは、Numberフィールド名の横にアイコンを設定し、アイコンにカーソルを当てた際に「星のアイコンです」と表示、またアイコンの色を黄色にする、といった設定を行っています。

星以外にも、アイコンには以下のようなものを設定できます。
image.png

2.フィールド名を点滅させる

flash('フィールド名', '色', 'カウント')

パラメータ 説明 タイプ
フィールド名 背景色を点滅させたいフィールド名。次の形式で入力する。
'<テーブル名>.<フィールド名>'
String
フィールド名の背景で点滅させたい色(RGBカラー名もしくはCSSカラーで入力) String
カウント 以下の数字を入力してフィールド名が点滅する秒数を指定する。
2 : 1秒間点滅
0 : 2秒間点滅
-2 : 3秒間点滅
-4 : 4秒間点滅
Number

画面のイメージ
image.png
Client Scriptのイメージ

function onLoad(){
	g_form.flash('incident.number','yellow',-4);
}

上記イメージでは、Numberフィールド名の背景が黄色に4秒間点滅する、といった設定を行っています。

3.フォーム上部にメッセージを表示する

addErrorMessage('メッセージ')

パラメータ 説明 タイプ
メッセージ フォーム上部に表示させたいエラーメッセージの内容 String

画面のイメージ
image.png
Client Scriptのイメージ

function onLoad(){
    g_form.addErrorMessage('エラーメッセージです');
}

上記イメージでは、画面上部に「エラーメッセージです」と赤枠内にメッセージを表示します。

addInfoMessage('メッセージ')

パラメータ 説明 タイプ
メッセージ フォーム上部に表示させたいインフォメーションメッセージの内容 String

画面のイメージ
image.png

Client Scriptのイメージ

function onLoad(){
    g_form.addInfoMessage('インフォメーションメッセージです');
}

上記イメージでは、画面上部に「インフォメーションメッセージです」と青枠内メッセージを表示します。

4.画面上にメッセージウィンドウを表示する

alert('メッセージ')

パラメータ 説明 タイプ
メッセージ ウィンドウに表示させたい警告メッセージの内容 String

画面のイメージ
image.png

Client Scriptのイメージ

function onLoad(){
    alert('警告ウィンドウを表示します');
}

上記イメージでは、ブラウザ画面の上部に「警告ウィンドウを表示します」というメッセージが表示されたウィンドウを表示します。ウィンドウ内には「OK」ボタンが表示されます。

confirm('メッセージ')

パラメータ 説明 タイプ
メッセージ ウィンドウに表示させたい確認メッセージの内容 String

画面のイメージ
image.png
Client Scriptのイメージ

function onLoad(){
    confirm('確認ウィンドウを表示します');
}

上記イメージでは、ブラウザ画面の上部に「確認ウィンドウを表示します」というメッセージが表示されたウィンドウを表示します。ウィンドウ内には「OK」ボタンと「キャンセル」ボタンが表示されます。

showFieldMsg('フィールド名','メッセージ','タイプ')

パラメータ 説明 タイプ
フィールド名 メッセージを表示させたいフィールド名 String
メッセージ フィールドの下に表示させるメッセージの内容 String
タイプ 以下の文言を入力してメッセージの枠の種類を指定する。
error:赤枠
info:青枠
warning:黄枠
String

画面のイメージ
image.png
Client Scriptのイメージ

function onLoad(){
	g_form.showFieldMsg('number','エラーフィールドメッセージです','error');
	g_form.showFieldMsg('number','インフォメーションフィールドメッセージです','info');
	g_form.showFieldMsg('number','警告フィールドメッセージです','warning');
}

上記イメージでは、Numberフィールドの下に「エラーフィールドメッセージです」という赤枠メッセージ、「インフォメーションフィールドメッセージです」という青枠メッセージ、「警告フィールドメッセージです」という黄色枠メッセージが表示されます。

5.ファイル添付ができないようにする

disableAttachments()

画面のイメージ
image.png
Client Scriptのイメージ

function onLoad(){
    g_form.disableAttachments();
}

上記イメージでは、フォームのタイトルバーのクリップアイコンが非表示になり、ファイル添付ができなくなります。

参考

そのほかにもFormのメッセージを非表示にしたり、入力値を受け取るAPIなど多数用意されています。
詳細は以下を参照ください。
GlideForm
Scripting alert, info, and error messages

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?