1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ServiceNow】ボタン押下時の確認メッセージ

Last updated at Posted at 2024-06-24

概要

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 ピクセル

例えば、以下のようにフォーム上の「メッセージ表示」ボタンを押下した際に警告メッセージを表示する場合
image.png

スクリプトは下記のように設定しています。

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ページ)は他にも種類があり、いくつかの例を以下にまとめます。
image.png

クライアントスクリプトで複数のボタンに対して確認メッセージ設定

以前に、クライアントスクリプトで複数の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();
    }
}

参考

ServiceNow 製品ドキュメント GlideModal - クライアント

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?