概要
ServiceNow画面上のボタン押下時にメッセージを表示させることができます。
メッセージを表示するためにはスクリプトを記載する必要があり、そのサンプルを備忘録としてまとめます。
環境
PDIで作成しています。
バージョンはVancouverです。
System Administrator(admin)で操作しています。
確認メッセージ設定
UIアクションをクライアントに設定し、スクリプトでGlideModalというAPIを使用します。
GlideModal(String id, Boolean readOnly, Number width)
名前 | 種類 | 説明 |
---|---|---|
id | String | モーダルに読み込む UI ページ。 |
readOnly | Boolean | true の場合、Closeボタンが非表示になります。 |
width | Number | 幅 (ピクセル単位)。最大幅は 900 ピクセル |
例えば、以下のようにフォーム上の「メッセージ表示」ボタンを押下した際に警告メッセージを表示する場合
スクリプトは下記のように設定しています。
function showModal(){
var gm = new GlideModal("glide_warn", false, 600);
// メッセージタイトルを設定
gm.setTitle("警告");
// メッセージ本文を設定
gm.setPreference("title", "送信前に入力内容を確認してください。");
// メッセージウィンドウ内のOKボタン押下時の処理を定義
gm.setPreference("onPromptComplete", function() {alert("「OK」クリック時の処理")});
// メッセージウィンドウを表示する
gm.render();
}
標準環境で用意されているメッセージウィンドウ(UIページ)は他にも種類があり、いくつかの例を以下にまとめます。
クライアントスクリプトで複数のボタンに対して確認メッセージ設定
以前に、クライアントスクリプトで複数のUIアクションボタンに対して確認メッセージを設定するといった実装を行いましたのでそのサンプルスクリプトのメモを備忘録として残します。
クライアントスクリプト
onSubmit
function onSubmit() {
//メッセージウィンドウの表示対象ボタンを定義
var BUTTON_MESSAGES = {
"u_test1": {
"message": "u_test1ボタン押下時の確認メッセージ",
},
"u_test2": {
"message": "u_test2ボタン押下時の確認メッセージ",
},
"u_test3": {
"message": "u_test3ボタン押下時の確認メッセージ",
},
};
//押下ボタン名取得
var actionName = g_form.getActionName();
//メッセージを表示する処理
function showModal() {
var msg = BUTTON_MESSAGES[actionName].message;
var gm = new GlideModal("glide_confirm_basic", true, 600);
gm.setTitle("確認");
gm.setPreference("title", msg);
//OKボタン押下時の処理を定義
gm.setPreference("onPromptComplete", function() {
//ボタン名を指定し、送信処理を実行する
g_form.submit(actionName);
});
//モーダルウィンドウを表示する
gm.render();
}
}