本文へジャンプ

ソフトウェア > Lotus > Lotus Developer Domain > 製品別技術情報 > Lotus Notes/Domino > 

LDD Today

Webフォームでのフォーカスの検出

Lotus Software
by Larry Willis
レベル:中級者
対 象: Domino
原文の掲載:2002年07月1日

LDD Today の原文(US)

DominoフォームがWebブラウザーに描画されるときは、フォームのどのフィールドにもフォーカスは設定されていません。JavaScriptを使用すると、Dominoフォームの最初のフィールドにフォーカスを設定できます(つまりカーソルを配置できます)。新規文書や編集モードで開かれた既存文書のフォーカスを設定する場合は、onLoadイベントで.focus() JavaScriptメソッドを使用できます。

ただし、読み込みモードで既存文書を開いた場合は、このメソッドは使用できません。Webブラウザーの読み込みモードで既存文書を開いた場合は、HTMLソース・コードに個々のフィールド名への参照が含まれません。このため、onLoadイベントでfocus()メソッドが動作しようとすると、Dominoで生成されたHTMLでフィールド名が定義されていないためにエラーが発生します。

この問題を回避するには、DominoフォームのonLoadイベントで以下のコード行を使用してください。

var f=document.forms[0]
if (f.FieldName){f.FieldName.focus()}

FieldNameには、フォームの最初のフィールドの名前を指定してください。編集モードでフォームや文書を開くと、フォームの最初のフィールドにカーソルが表示されます。読み込みモードでフォームや文書を開くと、FieldNameフィールドはHTMLコードに表示されず、JavaScriptコードは実行されません。