プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 31.9 apex.pageネームスペース

このネームスペースは、Oracle Application Expressの全クライアント側ページ関連のファンクションに使用します。

- apex.page.cancelWarnOnUnsavedChanges
- apex.page.confirmのシグネチャ1
- apex.page.confirmのシグネチャ2
- apex.page.submitのシグネチャ1
- apex.page.submitのシグネチャ2
- apex.page.validate
- apex.page.isChanged
- apex.page.warnOnUnsavedChanges

## 31.9.1 apex.page.cancelWarnOnUnsavedChanges

未保存の変更を確認するハンドラを削除するコール。これは、ユーザーが意図的に変更の破棄を選択する、なんらかの取消し操作の前に使用すると便利です。宣言属性`Warn on Unsaved Changes`で`Do Not Check`の値を指定すれば、自動的に処理されるため、通常このファンクションをコールする必要はありません。リンク(アンカー要素)またはボタンにクラスjs-ignoreChangeを追加すると、リンクまたはボタンが使用される前にこのファンクションがコールされます。

パラメータ

なし

例

次の例では、変更をチェックせずにページから移動するカスタムの取消しボタンのハンドラを設定しています。

    apex.jQuery( "#custom-cancel-button" ).click( function() {
        apex.page.cancelWarnOnUnsavedChanges();
        apex.navigation.redirect( someUrl );
    });

## 31.9.2 apex.page.confirmシグネチャ1

`pMessage`のメッセージを表示する確認ダイアログを表示し、ユーザーの選択に応じて、リクエスト値を`pRequest`に設定するページを送信するか、またはページを送信しません。ユーザーがページの送信を選択した場合、動作は`apex.page.submit`ファンクションと同じです。同じパラメータを指定して、このファンクション`apex.confirm`の短い別名も使用できます。

パラメータ

表31-45 apex.page.confirmのシグネチャ1のパラメータ

名前 | タイプ | 説明
--- | --- | ---
`pMessage` | String | ダイアログに表示する確認メッセージ。
`pRequest` | String | リクエスト値。

例

この例では、確認ダイアログ・ボックスに「Delete Department」というテキストが表示されます。ユーザーが削除を選択すると、REQUESTの値が'DELETE'の現在のページが送信されます。

    apex.page.confirm('Delete Department', 'DELETE');

または

    apex.confirm('Delete Department', 'DELETE');

## 31.9.3 apex.page.confirmシグネチャ2

`pMessage`のメッセージを表示する確認ダイアログを表示し、ユーザーの選択に応じて、`pRequest`のオプションに従ったページを送信するか、またはページを送信しません。ユーザーがページの送信を選択した場合、動作は`apex.page.submit`ファンクションと同じです。同じパラメータを指定して、このファンクション`apex.confirm`の短い別名も使用できます。

パラメータ

表31-46 apex.page.confirmのシグネチャ2のパラメータ

名前 | タイプ | 説明
--- | --- | ---
`pMessage` | String | ダイアログに表示する確認メッセージ。
`pOptions` | Object | ページの送信方法を制御するオプション。apex.page.submitのシグネチャ2で「pOptionsのプロパティ」を参照してください。

例

この例では、「Save Department?」というテキストの確認メッセージが表示されます。ユーザーが保存を選択すると、`REQUEST`値がSAVEのページが送信され、2つのページ・アイテム値が設定されます(`P1_DEPTNO`が`10`、`P1_EMPNO`が`5433`)。

    apex.page.confirm("Save Department?", {
      request:"SAVE",
      set:{"P1_DEPTNO":10, "P1_EMPNO":5433}
      });

または

    apex.confirm("Save Department?", {
      request:"SAVE",
      set:{"P1_DEPTNO":10, "P1_EMPNO":5433}
      });

## 31.9.4 apex.page.submitシグネチャ1

このファンクションは、Application Expressの`REQUEST`値を`pRequest`に設定してページを送信します。同じパラメータを指定して、このファンクション`apex.submit`の短い別名も使用できます。ページのReload on Submit属性の値に応じて、ajaxを使用して、または通常のフォーム送信POSTリクエストを使用してページを送信します。

このファンクションは、`apex.gPageContext$`で、取消し可能な`apexbeforepagesubmit`イベントをトリガーします。取り消された場合、ページは発行されません。

ページ送信の直前に、このファンクションは`apex.gPageContext$`で、取消し不可能な`apexpagesubmit`イベントをトリガーします。

パラメータ

表31-47 apex.page.submitのシグネチャ1のパラメータ

名前 | タイプ | 説明
--- | --- | ---
`pRequest` | String | リクエスト値。

例

REQUESTの値が'DELETE'の現在のページを送信します。

    apex.page.submit( 'DELETE' );

または

    apex.submit( 'DELETE' );

## 31.9.5 apex.page.submitシグネチャ2

このファンクションは、`pOptions`で指定したオプションを使用してページを送信します。同じパラメータを指定して、このファンクション`apex.submit`の短い別名も使用できます。ページのReload on Submit属性の値に応じて、ajaxを使用して、または通常のフォーム送信POSTリクエストを使用してページを送信します。

このファンクションは、`apex.gPageContext$`で、取消し可能な`apexbeforepagesubmit`イベントをトリガーします。取り消された場合、ページは発行されません。

ページ送信の直前に、このファンクションは`apex.gPageContext$`で、取消し不可能な`apexpagesubmit`イベントをトリガーします。

パラメータ

表31-48 apex.page.submitのシグネチャ2のパラメータ

名前 | タイプ | 説明
--- | --- | ---
`pOptions` | Object | ページの送信方法を制御するオプション。オプションの各プロパティは、Table pOptionsを参照してください。

表31-49 pOptionsのプロパティ

名前 | 説明
--- | ---
`request` | `REQUEST`値。確認機能のデフォルトは`Delete`、送信機能のデフォルトは`null`です。
`set` | 送信前にページで設定される、名前/値ペアを含むオブジェクト。オブジェクトのプロパティはページ・アイテム名で、アイテム値はプロパティ値に設定されます。デフォルトでは、ページ・アイテムを設定しません。
`showWait` | `true`の場合、`Wait Indicator`スピナーが表示され、これは長いページ操作を実行するときに便利です。デフォルトは`false`です。
`submitIfEnter` | `ENTER`キーが押されたときにのみ送信したい場合は、イベント・コールバックで`apex.submit`をコールし、イベント・オブジェクトをパラメータとして渡してください。
`reloadOnSubmit` | ページのReload on Submit設定をオーバーライドします。`A` (常に)または`S` (成功)のいずれか。
`ignoreChange` | `true`(デフォルト)の場合は、`warnOnUnsavedChanges`機能が有効であっても、変更がある場合に警告が表示されません。`false`の場合は、`warnOnUnsavedChanges`機能が有効であれば、変更があると警告が表示されます。`warnOnUnsavedChanges`が無効な場合、どんな場合でも警告は表示されません。
`validate` | `true`の場合は、ページ送信の前にページ・アイテムおよびモデルの妥当性を確認します。いずれかが有効でない場合はアラート・ダイアログが表示され、ページは送信されません。デフォルトは、`false`です。

戻り値

`submitIfEnter`オプションが指定されている場合、ブール値を戻します。[ENTER]キーが押されない場合は`true`が戻され、`ENTER`キーが押された場合は`false`が戻されます。`submitIfEnter`が指定されていない場合、戻り値はありません。

例

この例では、`REQUEST`の値が'`DELETE`'のページを送信します。2つのページ・アイテム値`P1_DEPTNO`が`10`、`P1_EMPNO`が`5433`に設定されています送信中は、待機アイコンがユーザーへのインジケータとして表示されます。

    apex.page.submit({
        request:"DELETE",
        set:{"P1_DEPTNO":10, "P1_EMPNO":5433},
        showWait: true
    });

または

    apex.submit({
        request:"DELETE",
        set:{"P1_DEPTNO":10, "P1_EMPNO":5433},
        showWait: true
    });

## 31.9.6 apex.page.validate

ページ・アイテムと、そのページ上の送信可能なApplication Expressモデルが有効かどうかをチェックします。エラーかあれば、`apex.message.showErrors`ファンクションを使用してインラインで表示されます。

パラメータ

なし

戻り値

ページが有効な場合は`true`、それ以外の場合は`false`。

例

次の例では、`checkButton`というIDのボタンが押されたときに、ページが有効かどうかをチェックします。

    apex.jQuery( "#checkButton" ).click( function() {
        if ( !apex.page.validate() ) {
            alert("Please correct errors");
        }
    });

## 31.9.7 apex.page.isChanged

いずれかのページ・アイテム、またはこのページ上のApplication Expressモデルが、前回サーバーに送信されて以降に変更されている場合には、trueを戻します。これは、指定されている場合で、かつ他の変更が先に見つからなかった場合に、`apex.page.warnOnUnsavedChanges`で設定されている`pExtraIsChanged`ファンクションをコールします。

パラメータ

なし

戻り値

いずれかのページ・アイテム、またはこのページ上のApplication Expressモデルが変更されている場合には`true`を戻し、それ以外の場合は`false`を戻します。

例

次の例では、なんらかのアクションを実行する前に、ページが変更されているかどうかをチェックします。

    If ( apex.page.isChanged() ) {
       // do something when the page has changed
    }

## 31.9.8 apex.page.warnOnUnsavedChanges

ページをアンロードしようとするとき常に未保存の変更をチェックするハンドラを初期化します。これは、複数回コールすると安全です。`pMessage`と`pExtraIsChanged`は、前の値があればオーバーライドします。このファンクションは、ページ属性Warn on Unsaved Changesがyesに設定されている場合、自動的にコールされます。これをコールする主な理由は、パラメータのカスタマイズです。

パラメータ

表31-50 apex.page.warnOnUnsavedChanges

名前 | タイプ | 説明
--- | --- | ---
`pMessage` | String | 未保存の変更があるとき、警告ダイアログに表示するオプションのメッセージ。指定されない場合は、デフォルトのメッセージが使用されます。 注意: ブラウザによっては、このメッセージが表示されない場合もあります。
`pExtraIsChanged` | ファンクション | 未保存の変更があるかどうかチェックするためにコールされる追加のファンクション(オプション)。未保存の変更がある場合は`true`、それ以外の場合は`false`を戻す必要があります。どのモデルやページ・アイテムにも変更がない場合にのみコールされます。これは、Application Expressアイテムではない非標準のステートフル入力がページにあり、そのステートがApplication Expressモデルで維持されない場合に便利です。このような非標準の入力が変更されているかどうかを検出するカスタム・ファンクションを作成できます。

例

次の例では、未保存の変更があったときにカスタム・メッセージ付きの警告機能を有効にします。

    apex.page.warnOnUnsavedChanges( "The employee record has been changed" );