【ServiceNow】onSubmitでGlideAjaxしてチェックする際、チェック内容に関わらずSubmitされるのを防ぐ方法

題名がいけてないですね。そのうち変えます。

Washingtonでのバージョンで実装していたため、最新バージョンでは他に良い方式があるかも知れないので参考程度でお願い致します。

基本的にBusiness Ruleを用いて弾くようなことができればそちらの方が簡単です。

前提として以下状況とします。

①Client ScriptのonSubmitを使用する必要がある

②画面上の値とサーバーサイドの値をチェックする必要がある

①、②どちらも満たす場合ですが、GlideAjaxを使用してチェックする必要があるかと思います。

ただし、非同期で動きますのでGlideAjaxで処理が実行されながらSubmitされるという事象が発生します。

この回避策として、以下の手段があります。

onsubmit クライアントスクリプトで非同期検証を行う方法。 - Support and Troubleshooting - Now Support Portal
GlideAjax (非同期) は onSubmit クライアントスクリプトでは機能しません。これは、本質的にブロックされていない非同期スクリプトの基本的な動作が原因です。

当手段を使うことで、Client ScriptのonSubmitでも条件に満たさなければSubmitさせない動作が可能となります。

(20250820:実際に試したものは後々記載予定です。)

コメント

タイトルとURLをコピーしました