Oracle FormsをコールするJavaScriptイベントについて
FormsアプレットをホストするWebページでJavaScriptを使用して、JavaScriptからOracle Formsをコールすることもできます。
DOM (Document Object Model)ツリー内の埋め込まれたFormsオブジェクトに新しい機能が提供されています。JavaScriptを使用して次の処理を行います。
document.forms_applet.raiseEvent(event_name, payload);
ここでは、ID構成変数をforms_applet
に設定していたことを前提としています。
周囲のWebページがこのJavaScriptコードを実行すると、Oracle FormsがWHEN-CUSTOM-JAVASCRIPT-EVENT
という新しいタイプのトリガーを起動します。このトリガーには、system.javascript_event_value
とsystem.javascript_event_name
の2つの有効なシステム変数があります。これらの変数に含まれているペイロードとイベント名は、raiseEvent
メソッドを通じてFormsに渡されたものです。raiseEvent
メソッドがコールされると、WHEN-CUSTOM-JAVASCRIPT-EVENT
という名前のトリガーがサーバー側で起動されます。
declare event_val varchar2(300):= :system.javascript_event_value; begin if (:system.javascript_event_name='show') then handleShowEvent(event_val); elsif(:system.javascript_event_name='grab') then handleGrabEvent(event_val); else null; end if; end;
このPL/SQLコードは、showとgrabの2つのイベントを認識します。それ以外の名前は無視されます。