イベントの説明

シンプルアクション、式、LotusScript、JavaScript、Java コードは、次の各オブジェクトで発生したイベントへの応答として実行されます。アクション、アクションホットスポット、エージェント、ホットスポットボタン、データベース、フィールド、フォルダ、フォーム、式のポップアップ、アウトライン、ページ、スクリプトライブラリ、サブフォーム、ビュー。

同じイベントを、1 回は IBM Notes クライアントプラットフォームのため、もう 1 回は Web プラットフォームのために、2 回コーディングします。

注: IBM Notes クライアントと Web ブラウザのイベント処理の区別は、Release 6 で新しく追加されました。「互換性の問題」を参照してください。ただし、アクションと共有アクションは「同じイベントを 2 回コーディングする」規則の例外です。Release 6 で設計して Release 5 で実行する場合、プラットフォームごとに 2 つの異なるアクションをコーディングしなければなりません。非表示切り替え式を使用して、アクションを IBM Notes または Web プラットフォームで非表示にします。

Web イベントは JavaScript のみでコーディングできます。同じ JavaScript コードを、Web イベントとそれに対応する IBM Notes クライアントイベントの両方に指定できます。

次の表に、式言語、LotusScript、JavaScript、Java コードを使用して IBM Notes クライアントと Web ブラウザ環境で処理できるイベントを示します。シンプルアクションなど、プログラミングしないハンドラも示します。イベントの順序については、「イベント順序一覧表」を参照してください。ユーザーインターフェースについては、「プログラムペインの活用」と「[オブジェクト] タブの使用」を参照してください。

Event

実行

言語

Object

トリガー

アクション

クライアント

式 Java LotusScript インポート Java シンプルアクション

エージェント

オブジェクトがロードされたとき

Click

クライアント

式 LotusScript シンプルアクション

アクション アクションホットスポット ボタン ナビゲータオブジェクト ピクチャホットスポット

オブジェクトが選択されたとき

Click

クライアント

式ポップアップ

オブジェクトが選択されたとき

Column Value

クライアント Web

フィールド 式 シンプルファンクション

フォルダの列 ビューの列

オブジェクトがロードされたとき

Declarations

クライアント

LotusScript

アクション アクションホットスポット エージェント ボタン データベーススクリプト フィールド フォルダ フォーム Globals ナビゲータオブジェクト ページ

ピクチャホットスポット LotusScript のスクリプトライブラリ サブフォーム ビュー

オブジェクトがロードされたとき

デフォルト値

クライアント Web

フィールド

文書が作成されたとき

Document Selection

クライアント

簡易検索

エージェント

オブジェクトがロードされたとき

Entering

注: onFocus を推奨

クライアント

LotusScript

フィールド

オブジェクトが選択されたとき

Exiting

注: onBlur を推奨

クライアント

LotusScript

フィールド

オブジェクトの選択が解除されたとき

Form Formula

クライアント Web

フォルダー ビュー

オブジェクトがロードされたとき

Frame - Client

クライアント Web

アウトラインエントリ

オブジェクトがロードされたとき

HelpRequest

クライアント

フォルダー ビュー

ヘルプが選択されたとき

Hide When

クライアント Web

アウトラインエントリ

オブジェクトがロードされたとき

HTML 属性

Web

フィールド

フォームがロードされたとき

HTML Body Attributes

Web

フォーム ページ

フォームがロードされたとき

HTML Head Content

Web

フォーム ページ

フォームがロードされたとき

Image

クライアント

アウトラインエントリ

オブジェクトがロードされたとき

Initialize

クライアント

LotusScript

アクション アクションホットスポット エージェント ボタン データベーススクリプト フィールド フォルダ フォーム Globals ナビゲータオブジェクト ページ ピクチャホットスポット LotusScript のスクリプトライブラリ サブフォーム ビュー

オブジェクトがロードされたとき

Input Enabled

クライアント

フィールド

フォームがロードされたとき

Input Translation

クライアント Web

フィールド

文書が保存されたとき

Input Validation

クライアント Web

フィールド

Input Translation の後

InViewEdit

注: Release 6 で新しく追加

クライアント

LotusScript

フォルダー ビュー

ビューエントリが編集されたとき (照会、検証、保存)

JavaAgent

クライアント

Java

エージェント

オブジェクトがロードされたとき

JavaScript ライブラリ

クライアント
Web

JavaScript

スクリプトライブラリ

オブジェクトがロードされたとき

Java クラス名

クライアント

Java

スクリプトライブラリ

オブジェクトがロードされたとき

JS Header

クライアント Web

JavaScript

フォーム ページ サブフォーム

オブジェクトがロードされたとき

Label

クライアント

アウトラインエントリ

オブジェクトがロードされたとき

ObjectExecute

クライアント

LotusScript

アクション アクションホットスポット ボタン

FX/NotesFlow 対応の OLE2 サーバーによってオブジェクトがアクティブにされたとき

onBlur

注: Release 6 で LotusScript に新しく追加

クライアント

JavaScript LotusScript

フィールド

オブジェクトの選択が解除されたとき

onBlur - Web

Web

JavaScript

アクション アクションホットスポット ボタン フィールド

オブジェクトの選択が解除されたとき

onChange

注: Release 6 で新しく追加

クライアント

JavaScript LotusScript

フィールド

オブジェクトの内容が変更されたとき

onChange

Web

JavaScript

フィールド

オブジェクトの内容が変更されたとき

onClick

Web

JavaScript

アクション アクションホットスポット ボタン フィールド フォーム ページ 画像

オブジェクトが選択されたとき

onDblClick

Web

JavaScript

アクション アクションホットスポット ボタン フィールド フォーム ページ 画像

オブジェクトがダブルクリックされたとき

onFocus

注: Release 6 で LotusScript に新しく追加

クライアント

LotusScript JavaScript

フィールド

オブジェクトが選択されたとき

onFocus

Web

JavaScript

アクション アクションホットスポット ボタン フィールド

オブジェクトが選択されたとき

onHelp

クライアント

式 LotusScript JavaScript

フォーム ページ

ヘルプが選択されたとき

onHelp

Web

JavaScript

アクション アクションホットスポット ボタン フォーム ページ 画像

ヘルプが選択されたとき

onKeyDown

Web

JavaScript

アクション アクションホットスポット ボタン フィールド フォーム ページ 画像

キーが押されたとき

onKeyPress

Web

JavaScript

アクション アクションホットスポット ボタン フィールド フォーム ページ 画像

英数字キーが押されたとき

onKeyUp

Web

JavaScript

アクション アクションホットスポット ボタン フィールド フォーム ページ 画像

キーが離されたとき

onLoad

注: Release 6 で式と LotusScript に新しく追加

クライアント

JavaScript 式 LotusScript

フォーム ページ

オブジェクトがロードされたとき

onLoad

Web

JavaScript

フォーム ページ

オブジェクトがロードされたとき

onMouseDown

Web

JavaScript

アクション アクションホットスポット ボタン フィールド フォーム ページ 画像

右または左クリックでオブジェクトが選択されたとき

onMouseMove

Web

JavaScript

アクション アクションホットスポット ボタン フィールド フォーム ページ 画像

マウスがオブジェクト上を移動したとき

onMouseOut

Web

JavaScript

アクション アクションホットスポット ボタン フィールド フォーム ページ 画像

マウスがオブジェクトから移動されたとき

onMouseOver

Web

JavaScript

アクション アクションホットスポット ボタン フィールド フォーム ページ 画像

マウスがオブジェクト上に移動されたとき

onMouseUp

Web

JavaScript

アクション アクションホットスポット ボタン フィールド フォーム ページ 画像

マウスボタンがオブジェクト上で離されたとき

onReset

Web

JavaScript

フォーム

オブジェクトがリセットされたとき

onSelect

Web

JavaScript

フィールド

オブジェクトの内容が選択されたとき

OnSubmit

注: Release 6 で式と LotusScript に新しく追加

クライアント

式 JavaScript LotusScript

フォーム ページ

オブジェクトが保存される前

onSubmit

Web

JavaScript

フォーム

オブジェクトが保存される前

OnUnload

注: Release 6 で式と LotusScript に新しく追加

クライアント

式 LotusScript JavaScript

フォーム ページ

オブジェクトがアンロードされる前

onUnload

Web

JavaScript

フォーム ページ

オブジェクトがアンロードされる前

オプション(O)

クライアント

LotusScript

アクション アクションホットスポット エージェント ボタン データベーススクリプト フィールド フォルダ フォーム Globals ナビゲータオブジェクト ページ ピクチャホットスポット LotusScript のスクリプトライブラリ サブフォーム ビュー

オブジェクトがロードされたとき

PostDocumentDelete

クライアント

式 LotusScript

データベーススクリプト

文書が削除された後 (文書はまだ使用できます)

PostDragDrop

クライアント

式 LotusScript

データベーススクリプト フォルダ ビュー

オブジェクト内でドラッグアンドドロップ操作をした後

PostEntryResize

注: Release 6 で新しく追加

クライアント

式 LotusScript

フォルダー ビュー

カレンダーフォルダやビューでサイズ変更操作をした後

PostModeChange

クライアント

式 LotusScript JavaScript

フォーム サブフォーム

オブジェクトが読み込みモードまたは編集モードに変更された後

PostOpen

注: フォームとページの場合は onLoad のほうがよい

クライアント

式 LotusScript

データベーススクリプト フォルダ フォーム ページ サブフォーム ビュー

オブジェクトが開かれた後

PostPaste

クライアント

式 LotusScript

フォルダー ビュー

貼り付け操作の後

PostRecalc

クライアント

式 JavaScript LotusScript

フォーム ページ サブフォーム

オブジェクトが更新された (および値が再計算された) 後

PostSave

クライアント

式 JavaScript LotusScript

フォーム サブフォーム

オブジェクトが保存された後

PostSend

注: Release 6 で新しく追加

クライアント

式 JavaScript LotusScript

フォーム サブフォーム

オブジェクトが送信された後

QueryAddToFolder

クライアント

式 LotusScript

フォルダー ビュー

文書がフォルダに追加される前

QueryClose

注: フォームとページの場合は onUnload のほうがよい

クライアント

式 LotusScript

データベーススクリプト フォルダ フォーム ページ サブフォーム ビュー

オブジェクトが閉じられるとき

QueryDocumentDelete

クライアント

式 LotusScript

データベーススクリプト

文書が削除用にマークされる前

QueryDocumentUndelete

クライアント

式 LotusScript

データベーススクリプト

文書に付けられた削除用マークが解除される前

QueryDragDrop

クライアント

式 LotusScript

データベーススクリプト フォルダ ビュー

ドラッグアンドドロップ操作をする前

QueryEntryResize

注: Release 6 で新しく追加

クライアント

式 LotusScript

フォルダー ビュー

カレンダーフォルダやビューでサイズ変更操作をする前

QueryModeChange

クライアント

式 JavaScript LotusScript

フォーム サブフォーム

文書が読み込みモードまたは編集モードに変更される前

QueryOpen

クライアント

式 JavaScript LotusScript

フォーム ページ サブフォーム

オブジェクトが開かれる前

QueryOpen

クライアント

式 LotusScript

フォルダー ビュー

オブジェクトが開かれる前

QueryOpenDocument

クライアント

式 LotusScript

フォルダー ビュー

文書がロードされる前

QueryPaste

クライアント

式 LotusScript

フォルダー ビュー

貼り付け操作の前

QueryRecalc

注: Release 6 で新しく追加

クライアント

式 JavaScript LotusScript

フォーム ページ サブフォーム

オブジェクトが更新される (および値が再計算される) 前

QueryRecalc

クライアント

式 LotusScript

フォルダー ビュー

オブジェクトが更新される (および値が再計算される) 前

QuerySave

注: フォームの場合は onSubmit のほうがよい

クライアント

式 LotusScript

フォーム サブフォーム

オブジェクトが保存される前

QuerySend

注: Release 6 で新しく追加

クライアント

式 JavaScript LotusScript

フォーム サブフォーム

オブジェクトが送信される前

RegionDoubleClick

クライアント

式 LotusScript

フォルダー ビュー

カレンダービューまたはフォルダ内のエリアがダブルクリックされたとき

Source

クライアント

アウトラインエントリ

オブジェクトがロードされたとき

Target Frame

クライアント Web

フォーム ページ

オブジェクトがロードされたとき

Target Frame (シングルクリック)

クライアント Web

フォルダー ビュー

オブジェクトがロードされたとき

Target Frame (ダブルクリック)

クライアント Web

フォルダー ビュー

オブジェクトがロードされたとき

Terminate

クライアント

LotusScript

アクション アクションホットスポット エージェント ボタン データベーススクリプト フィールド フォルダ フォーム Globals ナビゲータオブジェクト ページ ピクチャホットスポット LotusScript のスクリプトライブラリ サブフォーム ビュー

オブジェクトがアンロードされたとき

クライアント Web

フィールド

計算結果フィールドが計算されたとき

View Selection

クライアント

式 簡易検索

フォルダー ビュー

オブジェクトがロードされたとき

WebQueryOpen

Web

フォーム

オブジェクトが表示される前**

WebQuerySave

Web

フォーム

オブジェクトが保存される前**

Window Title

クライアント Web

フォーム ページ

オブジェクトがロードされたとき

@Command([RunAgent];"agentname")
@Command([ToolsRunMacro];"agentname")

LotusScript のサブルーチンと関数

LotusScript のサブルーチンや関数をオブジェクトに追加できます。作成したスクリプトは、オブジェクトで実行できるイベントのリストに追加され、必要に応じてこのリストから選択して使用します。

LotusScript の Declarations と Options 領域

各オブジェクトには Declarations 領域があり、オブジェクトのすべての LotusScript イベントに適用される実行型でない LotusScript ステートメントを記述できます。また、Option、Use、UseLSX、Const などのステートメントを記述するための Options 領域もあります。各フォーム、フォルダ、ページ、サブフォーム、ビューには Globals 領域があり、その文書のすべての LotusScript イベントに適用される実行型でない LotusScript ステートメントを記述できます。

onLoad と PostOpen の現在の文書

onLoad や PostOpen イベントによって現在の文書に対して変更された内容は、デフォルト値として処理されます。文書には変更マークは付きません。ユーザーがこの時点で文書を閉じると、onLoad または PostOpen の変更内容は失われます。PostOpen での変更内容を確実に保存するには、NotesUIDocument の Save メソッドなどを使用して明示的に変更内容を保存しなければなりません。

互換性に関する問題

IBM Notes R5 では、特定の JavaScript イベントは Web ブラウザだけでなく IBM Notes クライアントでも発生します。また、同じユーザーアクションに対する式/ LotusScript イベントも IBM Notes クライアントで発生します。例えば、onBlur と Exiting イベントは、IBM Notes クライアントユーザーがフィールドを終了すると発生します。

Release 6 では、IBM Notes クライアントと Web ブラウザへのイベントの適用が区別されます。IBM Notes クライアント用に 1 つの JavaScript または LotusScript イベントをコーディングし、Web ブラウザ用に別の JavaScript イベントをコーディングします。Release 5 の IBM Notes クライアントで発生する JavaScript イベントでは、Release 6 の LotusScript、および場合によっては式を許可します。対応する LotusScript のみのイベントも発生しますが、これらを Release 6 のアプリケーションで使用することはお奨めしません。

次の表に影響を受けるイベントのリストを示します。

ユーザーアクション

Event

リリース

発生対象

言語

アクション、アクションホットスポット、ボタン

オブジェクトの選択

onClick

R5 と Release 6

Web のみ

JavaScript

 

Click

R5 と Release 6

クライアントのみ

LotusScript

フィールド

       

オブジェクトの入力

Entering

R5 と Release 6

クライアントのみ

LotusScript

 

onFocus

R5 と Release 6

クライアントと Web

JavaScript

   

Release 6

クライアントのみ

LotusScript

オブジェクトの終了

Exiting

R5 と Release 6

クライアントのみ

LotusScript

 

onBlur

R5 と Release 6

クライアントと Web

JavaScript

   

Release 6

クライアントのみ

LotusScript

フォーム、ページ

       

オブジェクトを開く

onLoad

R5 と Release 6

クライアントと Web

JavaScript

   

Release 6

クライアントのみ

式 LotusScript

 

PostOpen

R5 と Release 6

クライアントのみ

式 LotusScript

オブジェクトを閉じる

onUnload

R5 と Release 6

クライアントと Web

JavaScript

   

Release 6

クライアントのみ

式 LotusScript

 

QueryClose

R5 と Release 6

クライアントのみ

式 LotusScript

オブジェクトの保存

onSubmit

R5 と Release 6

クライアントと Web

JavaScript

   

Release 6

クライアントのみ

式 LotusScript

 

QuerySave

R5 と Release 6

クライアントのみ

式 LotusScript

例えば、IBM Notes R5 で FieldOne に対する onBlur イベントを次のようにコーディングしたとします。

with (window.document.forms[0]) {
  if (FieldOne.value == "foo") {
    FieldTwo.value = "bar"
  }
}

この場合、Web ブラウザまたは IBM Notes クライアントのどちらかでユーザーがフィールドから離れるとき、FieldOne が「foo」の場合は FieldTwo は「bar」に設定されます。

この機能を Release 6 に複製するには、コードを 2 回 (onBlur - Web イベント用に 1 回と onBlur - Client イベント用に 1 回) 指定するか、コードを「共通の JavaScript」の下に指定します。

onBlur イベントの他に、FieldOne に対して Exiting イベントを次のようにコーディングしたとします。

Sub Exiting(Source As Field)
  Dim w As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
  Set uidoc = w.CurrentDocument
  If uidoc.FieldGetText("FieldOne") = "foo" Then
    Call uidoc.FieldSetText("FieldThree", "bar")
  End If
End Sub

この場合、Web ブラウザではなく IBM Notes クライアントでユーザーがフィールドから離れるとき、FieldOne が「foo」の場合は FieldThree も「bar」に設定されます。

Release 6 では、下位互換性が問題でない場合には、onFocus - Client イベントのコードを結合し、Exiting イベントを削除する必要があります。次のコードは、JavaScript でのコーディング例です。

with (window.document.forms[0]) {
  if (FieldOne.value == "foo") {
    FieldTwo.value = "bar"
    FieldThree.value = "bar"
 }
}

LotusScript での例

Sub Onblur(Source As Field)
  Dim w As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
  Set uidoc = w.CurrentDocument
  If uidoc.FieldGetText("FieldOne") = "foo" Then
    Call uidoc.FieldSetText("FieldTwo", "bar")
    Call uidoc.FieldSetText("FieldThree", "bar")
 End If
End Sub

上位互換性

IBM Notes R5 アプリケーションは、IBM Notes クライアント Release 6 でも同様に動作します。IBM Notes クライアントで動作する JavaScript イベントは、引き続き Web とクライアントの両方で動作します。LotusScript の PostOpen、QueryClose、QuerySave、Entering、Exiting、Click イベントは、引き続き動作します。

R5 のアプリケーションが IBM Domino Designer Release 6 で保存されると、JavaScript イベントは対応する Web および場合によってはクライアントイベントに移されます。LotusScript イベントはそのまま残ります。例えば、onBlur イベントは、onBlur - Web と onBlur - Client イベントに移され、Exiting イベントはそのまま残ります。

しかし、下位互換性が問題でない場合、以下の場合にはコーディングし直すことをお奨めします。

  • IBM Notes クライアントと Web の両方で動作する JavaScript イベントに対して、条件コードを使用して、いずれかの環境に合うよう動作を変更している場合: 条件コードではなく、Client と Web に対してそれぞれ 1 ルーチンとして 2 ルーチンを使用します。
  • LotusScript イベントの場合: 対応する「オン」 Client イベントにコードを移動します。

下位互換性

IBM Notes クライアント R5 で動作する Release 6 のアプリケーションは、Release 6 のクライアントで同様に動作します。ただし、Release 6 で新たに追加されたイベントは R5 では動作しません。例えば、LotusScript の onLoad - Client は、R5 では動作しません。

Release 6 のアプリケーションを R5 で再コンパイルする場合、JavaScript のクライアントイベントは失われ、JavaScript の Web イベントはクライアントと Web の両方で回復します。例えば、JavaScript の OnLoad - Client は、Release 5 でコンパイルされた場合は失われます。JavaScript - Web は、R5 でコンパイルされても失われず、クライアントと Web の両方で動作します。

このため、上位互換性のガイドラインについて次の点に注意してください。R5 と Release 6 の両方を引き続き設計する場合には、LotusScript の「on」イベントを使用せずに、LotusScript の PostOpen、QueryClose、QuerySave、Entering、Exiting の各イベントを残し、クライアントと Web の両方について JavaScript のイベントをコーディングする必要があります (「共通 JavaScript」を使用)。

onHelp と HelpRequest

R5 の HelpRequest イベント (式) は、ユーザーが IBM Notes クライアントで [F1] キーを押したときにユーザーのアクションを実行し、標準ヘルプを非表示にします。onHelp イベント (JavaScript) は、ユーザーが Web ブラウザで [F1] キーを押したときにユーザーのアクションを実行し、標準ヘルプを呼び出します。

Release 6 の onHelp - Web イベントは、R5 の onHelp イベントと同じです。式、LotusScript、JavaScript をサポートする onHelp - Client イベントは、R5 の HelpRequest と同様に動作します。HelpRequest はフォーム設計からはなくなりました。