2023年7月27日木曜日

ページ・アイテムの値の変更をキャンセルしたときに元の値に戻す

 ページ・アイテムの値の変更時に確認のダイアログを表示し、そのダイアログでキャンセルをクリックしたときに元の値に戻すようにします。

以下のような動作です。


ページ・アイテムP1_VALUEを対象に、上記の実装を行います。

設定[Enter]を押すと送信オフにします。ページの送信は、ページ・アイテムの値の変更イベントとは関係なく実行されます。また、ページ・アイテムがページに1つだけの場合は[Enter]を押すと送信オフでもEnterを押すとページの送信が行われるため、このような実装はできません。


ページが開いたときのページ・アイテムP1_VALUEの値を保存しておきます。

ページ・プロパティJavaScripitファンクションおよびグローバル変数の宣言に以下を記述します。


ページ・アイテムP1_VALUEに動的アクションを作成します。

タイミングイベントは、ページ・アイテムのデフォルトである変更を選択します。


TRUEアクションとしてJavaScriptコードの実行を選択し、設定コードに以下を記述します。



以上で実装は完了です。作成したアプリケーションを実行すると、記事の先頭のGIF動画のように動作します。

今回作成したAPEXアプリケーションのエクスポートを以下に置きました。
https://github.com/ujnak/apexapps/blob/master/exports/cancel-and-revert.zip

Oracle APEXのアプリケーション作成の参考になれば幸いです。