シンプルアクション、式、LotusScript、JavaScript、Java コードは、次の各オブジェクトで発生したイベントへの応答として実行されます。アクション、アクションホットスポット、エージェント、ホットスポットボタン、データベース、フィールド、フォルダ、フォーム、式のポップアップ、アウトライン、ページ、スクリプトライブラリ、サブフォーム、ビュー。
同じイベントを、1 回は Notes クライアントプラットフォームのため、もう 1 回は Web プラットフォームのために、2 回コーディングします。
Web イベントは JavaScript のみでコーディングできます。同じ JavaScript コードを、Web イベントとそれに対応する Notes クライアントイベントの両方に指定できます。
次の表に、式言語、LotusScript、JavaScript、Java コードを使用して 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 のサブルーチンや関数をオブジェクトに追加できます。作成したスクリプトは、オブジェクトで実行できるイベントのリストに追加され、必要に応じてこのリストから選択して使用します。
各オブジェクトには Declarations 領域があり、オブジェクトのすべての LotusScript イベントに適用される実行型でない LotusScript ステートメントを記述できます。また、Option、Use、UseLSX、Const などのステートメントを記述するための Options 領域もあります。各フォーム、フォルダ、ページ、サブフォーム、ビューには Globals 領域があり、その文書のすべての LotusScript イベントに適用される実行型でない LotusScript ステートメントを記述できます。
onLoad や PostOpen イベントによって現在の文書に対して変更された内容は、デフォルト値として処理されます。文書には変更マークは付きません。ユーザーがこの時点で文書を閉じると、onLoad または PostOpen の変更内容は失われます。PostOpen での変更内容を確実に保存するには、NotesUIDocument の Save メソッドなどを使用して明示的に変更内容を保存しなければなりません。
Notes R5 では、特定の JavaScript イベントは Web ブラウザだけでなく Notes クライアントでも発生します。また、同じユーザーアクションに対する式/ LotusScript イベントも Notes クライアントで発生します。例えば、onBlur と Exiting イベントは、Notes クライアントユーザーがフィールドを終了すると発生します。
Release 6 では、Notes クライアントと Web ブラウザへのイベントの適用が区別されます。Notes クライアント用に 1 つの JavaScript または LotusScript イベントをコーディングし、Web ブラウザ用に別の JavaScript イベントをコーディングします。Release 5 の 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 |
例えば、Notes R5 で FieldOne に対する onBlur イベントを次のようにコーディングしたとします。
with (window.document.forms[0]) {
if (FieldOne.value == "foo") {
FieldTwo.value = "bar"
}
}
この場合、Web ブラウザまたは 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 ブラウザではなく 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
Notes R5 アプリケーションは、Notes クライアント Release 6 でも同様に動作します。Notes クライアントで動作する JavaScript イベントは、引き続き Web とクライアントの両方で動作します。LotusScript の PostOpen、QueryClose、QuerySave、Entering、Exiting、Click イベントは、引き続き動作します。
R5 のアプリケーションが Domino Designer Release 6 で保存されると、JavaScript イベントは対応する Web および場合によってはクライアントイベントに移されます。LotusScript イベントはそのまま残ります。例えば、onBlur イベントは、onBlur - Web と onBlur - Client イベントに移され、Exiting イベントはそのまま残ります。
しかし、下位互換性が問題でない場合、以下の場合にはコーディングし直すことをお奨めします。
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」を使用)。
R5 の HelpRequest イベント (式) は、ユーザーが Notes クライアントで [F1] キーを押したときにユーザーのアクションを実行し、標準ヘルプを非表示にします。onHelp イベント (JavaScript) は、ユーザーが Web ブラウザで [F1] キーを押したときにユーザーのアクションを実行し、標準ヘルプを呼び出します。
Release 6 の onHelp - Web イベントは、R5 の onHelp イベントと同じです。式、LotusScript、JavaScript をサポートする onHelp - Client イベントは、R5 の HelpRequest と同様に動作します。HelpRequest はフォーム設計からはなくなりました。