apex:inputField
Salesforce オブジェクトの項目に対応する値の HTML 入力要素です。<apex:inputField> コンポーネントは、項目が必須であるかまたは一意であるかどうかなどの関連項目の属性、およびユーザからの入力を取得するために表示するユーザインターフェースウィジェットを考慮します。たとえば、指定された <apex:inputField> コンポーネントが日付項目である場合、カレンダー入力ウィジェットが表示されます。<apex:pageBlockSection> で使用されている場合、<apex:inputField> タグは必ず対応する出力ラベルと一緒に表示されます。
[設定] の項目にカスタムヘルプが定義されている場合は、その項目は <apex:pageBlock> または <apex:pageBlockSectionItem> の子である必要があり、Visualforce ページにカスタムヘルプを表示するためには Salesforce のページヘッダーを表示する必要があります。カスタムヘルプの表示を上書きするには、<apex:pageBlockSectionItem> の本文の <apex:inputField> を使用します。
- 参照項目では、マウスイベントがテキストボックスおよび画像アイコンの両方で実行される。
- 複数選択リストでは、すべてのイベントが実行される。ただし、左ボックスには _unselected、右ボックスには _selected、および画像アイコンには _right_arrow および _left_arrow という接尾辞が DOM ID に付けられます。
- リッチテキストエリアでは、イベントは実行されない。
- 参照のみの項目、および Event.StartDateTime、Event.EndDateTime などの複雑な自動動作が含まれる特定の Salesforce オブジェクトの項目は <apex:inputField> の使用時には編集可能として表示されません。代わりに、<apex:inputText> など他の入力コンポーネントを使用してください。
- セキュリティ上の制約により、リッチテキストエリア項目の <apex:inputField> コンポーネントは、Site.com サイトまたは Force.com サイトでの画像アップロードには使用できません。このどちらかのコンテキストで、ユーザが画像ファイルをアップロードできるようにするには、<apex:inputFile> コンポーネントを使用します。
- [設定] で項目にカスタムヘルプが定義されている場合、その項目は <apex:pageBlock> または <apex:pageBlockSectionItem> の子である必要があり、Visualforce ページにカスタムヘルプを表示するためには Salesforce のページヘッダーを表示する必要があります。カスタムヘルプの表示を上書きするには、<apex:pageBlockSectionItem> の本文の <apex:inputField> を使用します。
API バージョン 20.0 から、デフォルト値を持つ項目に一致する inputField には Visualforce ページでデフォルト値があらかじめ入力されています。
このコンポーネントでは、「html-」プレフィックスを使用した HTML パススルー属性がサポートされています。パススルー属性は、生成された <input> タグに適用されます。
1<!-- For this example to render properly, you must associate the Visualforce page
2with a valid account record in the URL.
3For example, if 001D000000IRt53 is the account ID, the resulting URL should be:
4https://Salesforce_instance/apex/myPage?id=001D000000IRt53
5See the Visualforce Developer's Guide Quick Start Tutorial for more information. -->
6
7<apex:page standardController="Account">
8 <apex:form>
9 <apex:pageBlock title="My Content" mode="edit">
10 <apex:pageBlockButtons>
11 <apex:commandButton action="{!save}" value="Save"/>
12 </apex:pageBlockButtons>
13 <apex:pageBlockSection title="My Content Section" columns="2">
14 <apex:inputField value="{!account.name}"/>
15 <apex:inputField value="{!account.site}"/>
16 <apex:inputField value="{!account.type}"/>
17 <apex:inputField value="{!account.accountNumber}"/>
18 </apex:pageBlockSection>
19 </apex:pageBlock>
20 </apex:form>
21</apex:page>属性
| 属性名 | 属性型 | 説明 | 必須項目 | API バージョン | アクセス |
|---|---|---|---|---|---|
| id | String | ページの他のコンポーネントが inputField コンポーネントを参照できるようにする識別子。 | 10.0 | global | |
| label | String | 項目に表示されるデフォルトのラベルを上書きできるテキスト値。ラベルはフォームにラベルを表示しない空の文字列に設定することができます。null に設定すると、エラーになります。 | 23.0 | ||
| list | Object | 入力項目に関連付けられた HTML <datalist> ブロックに追加するオートコンプリート値のリスト。 list 属性は、カンマ区切りの静的文字列または Visualforce 式として指定されます。式は、カンマ区切り文字列またはオブジェクトのリストに解決できます。リスト要素には任意のデータ型を設定できますが、その型は、Apex 言語機能として、または toString() メソッドを介して、文字列に変換できる必要があります。 |
29.0 | ||
| onblur | String | onblur イベントが発生した場合 (フォーカスが項目から離れた場合) に呼び出される JavaScript。 | 12.0 | global | |
| onchange | String | onchange イベントが発生した場合 (ユーザが項目のコンテンツを変更した場合) に呼び出される JavaScript。 | 12.0 | global | |
| onclick | String | onclick イベントが発生した場合 (ユーザが項目をクリックした場合) に呼び出される JavaScript。 | 12.0 | global | |
| ondblclick | String | ondblclick イベントが発生した場合 (ユーザが項目をダブルクリックした場合) に呼び出される JavaScript。 | 12.0 | global | |
| onfocus | String | onfocus イベントが発生した場合 (フォーカスが項目にある場合) に呼び出される JavaScript。 | 12.0 | global | |
| onkeydown | String | onkeydown イベントが発生した場合 (ユーザがキーボードのキーを押した場合) に呼び出される JavaScript。 | 12.0 | global | |
| onkeypress | String | onkeypress イベントが発生した場合 (ユーザがキーボードのキーを押したか、押したままにした場合) に呼び出される JavaScript。 | 12.0 | global | |
| onkeyup | String | onkeyup イベントが発生した場合 (ユーザがキーボードのキーを放した場合) に呼び出される JavaScript。 | 12.0 | global | |
| onmousedown | String | onmousedown イベントが発生した場合 (ユーザがマウスボタンをクリックした場合) に呼び出される JavaScript。 | 12.0 | global | |
| onmousemove | String | onmousemove イベントが発生した場合 (ユーザがマウスポインタを移動した場合) に呼び出される JavaScript。 | 12.0 | global | |
| onmouseout | String | onmouseout イベントが発生した場合 (ユーザが項目からマウスポインタを移動した場合) に呼び出される JavaScript。 | 12.0 | global | |
| onmouseover | String | onmouseover イベントが発生した場合 (ユーザがマウスポインタを項目に重ねた場合) に呼び出される JavaScript。 | 12.0 | global | |
| onmouseup | String | onmouseup イベントが発生した場合 (ユーザがマウスボタンを放した場合) に呼び出される JavaScript。 | 12.0 | global | |
| onselect | String | onselect イベントが発生した場合 (ユーザがこの項目に関連付けられているチェックボックスを選択した場合) に呼び出される JavaScript。 | 12.0 | global | |
| rendered | Boolean | コンポーネントをページに表示するかどうかを指定する boolean 値。指定されていない場合、この値はデフォルトの true に設定されます。 | 10.0 | global | |
| required | Boolean | この inputField が必須項目であるかどうかを指定する boolean 値。true に設定されている場合、この項目の値を指定する必要があります。選択されていない場合、この値はデフォルトの false に設定されます。この入力項目でカスタムオブジェクト名を表示する場合、この属性が true に設定されていない限り、その値は nil に設定され、必須にはなりません。これは標準オブジェクト名には適用されません。標準オブジェクト名はこの属性に関係なく常に必須です。 | 10.0 | global | |
| showDatePicker | Boolean | この項目に Visualforce の日付ピッカーを使用するのか、抑制してブラウザベースの日付ピッカーを使用するのかを指定します。 この属性は、日付項目と日時項目にのみ影響します。データ型に適したブラウザベースの選択ウィジェットを有効にするには、日付または時刻と互換性のある次のいずれかのデータ型に type 属性を設定する必要があります。
|
29.0 | ||
| style | String | inputField コンポーネントの表示に使用される CSS スタイル。この属性を設定できない値もあります。テキストにクラス名が必要な場合は、ラップ用 span タグを使用します。 | 12.0 | global | |
| styleClass | String | inputField コンポーネントの表示に使用される CSS スタイルクラス。この属性を設定できない値もあります。テキストにクラス名が必要な場合は、ラップ用 span タグを使用します。 | 12.0 | global | |
| taborderhint | Integer | ユーザが Tab キーを繰り返し押したときに、他のページコンポーネントと比較して、この項目が選択される相対的な順序を示すヒント。この値は、ユーザが Tab キーを押したときに選択される最初のコンポーネントを 1 として、1 ~ 3276 の整数である必要があります。 | 23.0 | ||
| type | String | 生成された <input> 要素に追加される HTML5 type 属性。有効な type 値は、次のとおりです。
|
29.0 | ||
| value | Object | この inputField に関連付けられている Salesforce 項目を参照する差し込み項目。たとえば、取引先の名前項目の入力項目を表示する必要がある場合は、value="{!account.name}" を使用します。組織が期間指定換算レートを使用している場合は、この inputField を currency 型の数式の差し込み項目に関連付けることはできません。 | 10.0 | global |