<lovInput>要素 |
![]() |
ネームスペース: | http://xmlns.oracle.com/uix/ui |
派生元: | <ui:textInput>要素 |
グループ: | UIX Components |
要素の型: | UINode |
構文 |
![]() |
<lovInput
[ destination="anyURI"
]
[ onLovInit="string"
]
[ onLovSelect="string"
]
[ onLovValidate="string"
]
[ showWindow="boolean"
]
[ unvalidated="boolean"
]
[ validateBlanks="boolean"
] >
</lovInput>
説明 |
![]() |
<lovInput>要素は、LOVウィンドウを起動するためのテキスト・フィールドとして使用されます。この要素は、listOfValues要素とともに使用するように設計されています。詳細は、listOfValues要素のトピックを参照してください。 この要素はtextInputフィールドと検索アイコンを表示します。アイコンがクリックされた場合(あるいはページの部分リフレッシュ環境でテキストが変更された場合)、一連のコールバックおよびイベントが起動され、フィールド内のテキストが検証されて、場合によってはLOVウィンドウが表示されます。unvalidated属性をfalseに設定することで、この一連の動作の検証部分だけを完全に無効にできます。 最初に、onLovInitコールバックが実行されます。コールバックがtrueを返した場合、lovInput要素のdestination属性で指定したページを表示するモーダル・ウィンドウが開きます。このページを開くURLには、onLovInitコールバックで追加、変更または更新されたパラメータが含まれます。リンク先ページは、開いた後で、2つの関連パラメータを持つlovFilterイベントを受け取ります。
LOVウィンドウが開くと、ユーザーが最初に入力したテキストに基づいて予想された完成表が表示されます。ユーザーは、取消を選択することも(その場合、lovInputのtextInputフィールドは変更されません)、表示された行の1つを選択する、表内の別の行へ移動する、別のカテゴリについて検索する、あるいは新規の検索文字列を入力することもできます。詳細は、listOfValues要素のトピックを参照してください。
LOVウィンドウが閉じると、onLovSelectコールバック(指定されている場合)が実行されます。その後、lovCloseイベントが生成されます。
ページの部分リフレッシュ環境では、lovInput要素の一部が拡張されます。
ユーザーが検索アイコンをクリックした場合、または入力フィールドのテキストが変更された場合(フィールド全体に空白が入力されている場合でも、validateBlanks属性が検証を制御します)、最初にonLovValidateコールバックが実行されます。クライアントはこのコールバックを使用して、ページから追加のデータを取得できます。イベントのURLで送信されるパラメータは、追加、更新または削除(あるいはそのすべて)ができます。onLovValidateコールバックがfalseを返した場合、検証プロセスは停止します。onLovValidateコールバックがtrueを返した場合、2つの関連パラメータを持つlovValidateイベントが生成されます。
lovValidateハンドラでは、クライアントは入力が有効かどうか、または一意の一致であるかどうかをチェックする必要があります。一意の一致とは、ユーザーが「san fran」と入力し、データ値がCaliforniaの都市名であるときに、一致する可能性があるのは「San Francisco」のみである場合などを指します。データが有効な場合、showWindow属性はfalseに設定されます(一部かつ一意の一致の場合、テキスト・フィールドのプロバイダを更新して、前述の例でいう「San Francisco」という値全体が指定されるようにする必要があります)。データが有効でない場合、showWindow属性はtrueに設定されます。showWindowのデフォルト設定はfalseであるため、showWindowは必要な場合にのみEventResultで指定します。
lovInputは部分リフレッシュの要求を受け取ると、showWindow属性をチェックします。showWindowがfalseである場合、単にテキスト・フィールドが再レンダリングされます。showWindowがtrueである場合、LOVウィンドウが開きます。
ユーザーが入力フィールドのテキストに変更を加えず、lovInputの検索アイコンをクリックした場合、検証イベントは生成されません。LOVウィンドウが直接作成されます。
例 |
![]() |
この例では、LOVdialogs.uixに(listOfValuesを使用して)LOVウィンドウが定義された、2つのlovInput要素を示します。lov1のウィンドウが閉じると、myCallBack関数が実行されます。2つ目の例では、検証コールバックおよび検証前コールバックが定義されたページの一部分を示します。
<form name="form1">
<contents>
<script>
<contents>
function SelectCallBack(lovWin, field, event)
{
// This function will be called after the select button has been clicked.
// - lovWin points to the not-yet-closed LOV dialog window.
// - field points to the lovInput field that triggered this
// LOV dialog.
// - event is the window close event
//
var fldNam = field.name;
var val = field.value;
var str = "SelectCallback called\nfieldName: '" + fldNam
+ "'\nvalue: '" + val;
confirm(str);
// Now we could gather values from the LOV Window (using the lovwin
// object), and use them build a string to set into the original
// LovInput text field using: field.value = newValue;
return true;
}
function _printCallbackParams(params, CBName)
{
// This function just raises a confirm dialog listing
// key:value pairs in the params object
var str = CBName + ' called with:'
for (var key in params)
{
str += "\nparameter: '" + key +
"', value '" + params[key] + "'";
}
return confirm(str);
}
function InitCallBack(params)
{
// If passed as the onLovInit attribute, this function is called
// after the LOV icon is clicked, but before the LOV dialog window
// is launched. This gives the developer a change to change the
// parameters that are going to the dialog window.
// The params object contains all the parameters which will end up
// on the URL.
// Add our own parameter. This will end up as a parameter on the
// LOV dialog window URL.
// (http://...?...&myParam=foo)
params["myParam"] = "foo";
return _printCallbackParams(params, 'InitCallback');
// return true;
}
function ValidateCallBack(params)
{
// If passed as the onLovValidate attribute, this function is called
// before the lovValidate event is fired.
// This gives the developer a chance to add, subtract or change
// parameters that will be sent with the lovValidate event
return _printCallbackParams(params, 'pre-validate Callback');
}
</contents>
</script>
<stackLayout>
<contents>
<flowLayout>
<contents>
<styledText text="value 1: "/>
<lovInput name="lov1"
shortDesc="Click to select a predefined value"
onLovInit="initCallBack"
onLovSelect="selectCallBack"
destination="LOVwindows.uix"/>
</contents>
</flowLayout>
<flowLayout>
<contents>
<styledText text="value 2: "/>
<lovInput name="lov2"
id="Lov-target2"
data:showWindow="isNotValid@someEventResult"
shortDesc="Click to select a predefined value"
onLovInit="initCallBack"
onLovSelect="selectCallBack"
onLovValidate="validateCallBack"
destination="LOVwindows.uix"/>
</contents>
</flowLayout>
</contents>
</stackLayout>
</contents>
</form>
属性 |
![]() |