プライマリ・コンテンツに移動
Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド
リリース18.1
E98591-01
目次へ移動
目次
索引へ移動
索引

前
次

14.3 ボタンの管理

ボタンを使用して、特定のページまたはURLを表示したり、情報をポストまたは処理するようにできます(たとえば、「作成」、「取消」、「次へ」、「前へ」または「削除」ボタンを作成します)。また、条件付きで表示したり、保存されていない変更についてユーザーに警告するようにボタンを構成できます。

14.3.1 ボタンで実行できる操作

ボタンを使用して、ページを送信したり、別のページにリダイレクトします。

ボタンでは、様々なタイプの操作を実行できます。次の操作を実行できます。

  • ページの送信(フォーム・ページに対する変更の保存など)

  • 異なるページまたはカスタムURLのいずれかへのリダイレクト

  • 実行しない(ボタンの動作が「動的アクション」で定義されていない場合など)。

14.3.2 ボタンの作成

ページ・デザイナでボタンを作成します。

ページ・デザイナでボタンを作成するには、次のステップを実行します。

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 必要に応じて、アイテムを含めるリージョンを作成します。
  3. ギャラリで、「ボタン」タブをクリックします。

    ボタンにカーソルをあわせると、ボタンを説明するツールチップが表示されます。

  4. ボタンを右クリックして「追加先」を選択し、適切な位置を選択します。

    ヒント:

    または、マウスを使用してボタンを選択して、「レイアウト」タブの適切な位置までドラッグします。

    プロパティ・エディタにボタン属性が表示されます。属性は、グループに編成されます。

  5. グループまたは属性を検索するには、次のステップを実行します。
    • グループまたは属性の検索: 「フィルタ・プロパティ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。デフォルトの表示に戻すには、キーワードを削除します。

    • 「グループに移動」の使用: 「グループに移動」をクリックして、グループを選択します。デフォルトの表示に戻すには、「グループに移動」を再度クリックして、「すべて開く」を選択します。

  6. プロパティ・エディタで該当する属性を編集します。

    ヒント:

    属性の詳細は、プロパティ・エディタで属性を選択し、中央ペインで「ヘルプ」タブをクリックして、参照してください。

  7. 「保存」をクリックします。

14.3.3 ボタンの編集

ページ・デザイナでボタンを編集します。

ページ・デザイナでリージョン・ボタンを作成するには、次のステップを実行します。

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するボタンを選択します。

    プロパティ・エディタの右ペインにボタン属性が表示されます。

  3. グループまたは属性を検索するには、次のステップを実行します。
    • グループまたは属性の検索: 「フィルタ・プロパティ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。デフォルトの表示に戻すには、キーワードを削除します。

    • 「グループに移動」の使用: 「グループに移動」をクリックして、グループを選択します。デフォルトの表示に戻すには、「グループに移動」を再度クリックして、「すべて開く」を選択します。

  4. ボタン属性を編集します。

    ページが保存されるまで、編集した属性の属性名の左側に青色のマーカーが表示されます。

    注意:

    属性の詳細は、フィールドレベル・ヘルプを参照してください。

  5. 「保存」をクリックします。

14.3.4 ボタンの条件付き表示

ボタンを条件付きで表示するには、ページ・デザイナで「サーバー側の条件」属性を編集します。

ボタンを条件付きで表示するには、次のステップを実行します。

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するボタンを選択します。

    プロパティ・エディタが変更されてボタン属性が表示されます。属性は、グループに編成されます。

  3. グループまたは属性を検索するには、次のステップを実行します。
    • グループまたは属性の検索: 「フィルタ・プロパティ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。デフォルトの表示に戻すには、キーワードを削除します。

    • 「グループに移動」の使用: 「グループに移動」をクリックして、グループを選択します。デフォルトの表示に戻すには、「グループに移動」を再度クリックして、「すべて開く」を選択します。

  4. 「サーバー側の条件」を検索します。タイプを選択し、表示されたフィールドに適切な情報を入力します。

    ヒント:

    属性の詳細は、プロパティ・エディタで属性を選択し、中央ペインで「ヘルプ」タブをクリックして、参照してください。

  5. 「保存」をクリックします。

14.3.5 保存されていない変更についてユーザーに警告するためのボタン属性の構成

「保存されていない変更の警告」属性を使用して、ユーザーがページから移動しようとしたときに、保存されていない変更についてユーザーに警告します。

「保存されていない変更の警告」属性を構成するには、次のステップを実行します。

  1. ページ・デザイナでページを表示します。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
    2. アプリケーションを選択します。
    3. ページを選択します。
    ページ・デザイナが表示されます。
  2. 「レンダリング」タブまたは「レイアウト」タブのいずれかで、編集するボタンを選択します。

    プロパティ・エディタが変更されてボタン属性が表示されます。属性は、グループに編成されます。

  3. グループまたは属性を検索するには、次のステップを実行します。
    • グループまたは属性の検索: 「フィルタ・プロパティ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。デフォルトの表示に戻すには、キーワードを削除します。

    • 「グループに移動」の使用: 「グループに移動」をクリックして、グループを選択します。デフォルトの表示に戻すには、「グループに移動」を再度クリックして、「すべて開く」を選択します。

  4. 「動作」を検索します。
  5. 「保存されていない変更の警告」で、次のいずれかを選択します。
    • ページのデフォルトc「保存されていない変更の警告」がページ・レベルで有効化されている場合に、ボタンがクリックされたときに保存されていない変更をチェックします。

    • チェックしない: 保存されていない変更のチェックは、ボタンがクリックされたときに実行されません。この設定は、「取消」、「削除」および「変更の適用」ボタンで使用します。

  6. 「保存」をクリックします。

ヒント:

「保存されていない変更の警告」属性は、apex.page.warnOnUnsavedChanges APIを使用して実装されます。

関連項目:

保存されていない変更についてユーザーに警告するためのページ属性の構成およびOracle Application Express APIリファレンス

14.3.6 ボタンからのJavaScriptのコールについて

ボタンからJavaScriptをコールして、リクエストを確認します。実際、Oracle Application Expressでは、ほぼすべてのオブジェクトの削除操作にこの方法を使用します。

たとえば、ボタンを削除する場合は、リクエストの確認を求めるJavaScriptメッセージが表示されます。次に例を示します。

  function deleteConfirm(msg)
  {
var confDel = msg;
if(confDel ==null)
  confDel= confirm("Would you like to perform this delete action?");
else
  confDel= confirm(msg);
  
if (confDel== true)
  doSubmit('Delete');
  }

この例では、削除操作を確認するファンクションを作成した後、ボタンからそのファンクションをコールします。このファンクションは、オプションでページを送信し、内部変数:REQUESTの値をDeleteに設定するため、リクエストの値に基づいて条件付きで実行されるプロセスを使用して削除を実行します。

ボタンを作成する際に、「URLにリダイレクト」を選択する必要があります。その後、URLターゲットを次のように指定します。

javascript:confirmDelete('Would you like to perform this delete action?');

JavaScriptコードを実行する場合は、動的アクションを使用することをお薦めします。次に例を示します。

  1. 「動的アクションで定義」のアクションを実行するボタンを作成します。

    動的アクションを作成し、アクション・タイプ「JavaScriptコードの実行」を使用して前述のコードを実行します。たとえば、次のようにします。

    if (confirm("Would you like to perform this delete action?")) {
      apex.submit('Delete');
    }

この例ではJavaScriptを使用していますが、JavaScriptを使用しなくても、この例を簡単に実装できます。かわりに、同様に翻訳可能な宣言的アクションの「確認」と「ページの送信」を使用できます。

14.3.7 ボタン名とREQUESTの関係について

「送信」ボタン(送信ページのアクションが指定されたボタン)に付けた名前によって、ページの送信時に組込み属性REQUESTの値が決まります。

バインド変数:REQUESTを使用して、PL/SQL内のREQUESTの値を参照できます。このバインド変数を使用して、ユーザーがクリックするボタンに応じてプロセス、検証またはブランチを条件付きで実行できます。ユーザーがボタンをクリックした際に実行されるプロセスを作成することもできます。また、より複雑な条件も使用できます。次に例を示します。

If :REQUEST in ('EDIT','DELETE') then ...
If :REQUEST != 'DELETE' then ...

これらの例では、「EDIT」および「DELETE」という名前のボタンが存在すると想定します。この構文は、PL/SQL式の条件にも使用できます。ただし、ボタン名の大/小文字が保持されることに注意してください。ボタン名をLOGINに指定した場合、名前「Login」を検索するリクエストは失敗します。次に例を示します。

<input type="BUTTON" value="Finish" onclick="apex.submit('Finish');">

この例では、FinishREQUESTの名前で、大/小文字が区別されます。

14.3.8 ボタンを使用したブランチ処理について

ボタンを使用したブランチ処理について学習します。

各ページには、任意の数のブランチを含めることができます。ブランチは、アプリケーションの他のページまたはURLにリンクします。Application Expressでは、ページ・プロセス中の異なる時点でブランチが検討されます。プロセス前、計算前、検証前およびプロセス後のどの時点でブランチするかを選択できます。アプリケーション・ビルダーの他のコントロールと同様に、ブランチ処理には条件を設定できます。たとえば、ユーザーがボタンをクリックした場合にブランチできます。ブランチを作成する場合は、ブランチを特定のボタンに関連付けます。ブランチは、ユーザーがボタンをクリックした場合にのみ検討されます。