You can use buttons to direct users to a specific page or URL, or to post or process information (for example, by creating Create, Cancel, Next, Previous, or Delete buttons). You can also configure buttons to display conditionally or warn users of unsaved changes.
REQUEST
when the page is submitted.See Also:
"Calling a Page from a Button URL" and "Accessing Page Specific Utilities"
Parent topic: Managing Database Application Controls
Use buttons to submit a page or redirect to a different page.
Buttons can perform different types of actions. A button can:
Submit a page (for example to save changes to a form page).
Redirect to either a different page or a custom URL.
Do nothing (for example if the button's behavior is defined in a Dynamic Action).
Parent topic: Managing Buttons
Create buttons in Page Designer.
To create a button in Page Designer:
See Also:
Parent topic: Managing Buttons
Edit buttons in Page Designer.
To create a region button in Page Designer:
Parent topic: Managing Buttons
You can choose to have a button display conditionally by editing the Server-side Condition attribute in Page Designer.
To have a button display conditionally:
Parent topic: Managing Buttons
Use the Warn on Unsaved Changes attribute to warn users of unsaved changes when they attempt to navigate away from a page.
To configure the Warn on Unsaved Changes attribute:
Tip:
The Warn on Unsaved Changes attribute is implemented using the apex.page.warnOnUnsavedChanges
API.
See Also:
"Configuring Page Attributes to Warn Users of Unsaved Changes" and Oracle Application Express API Reference
Parent topic: Managing Buttons
Call JavaScript from a button to confirm a request. Oracle Application Express uses this technique for the delete operation of most objects.
For example, when you delete a button, a JavaScript message appears asking you to confirm your request. Consider the following example:
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'); }
This example creates a function to confirm a delete action and then calls that function from a button. Note that the function optionally submits the page and sets the value of the internal variable :REQUEST
to Delete
, thus performing the deletion using a process that conditionally executes based on the value of the request.
When you create the button, you must select Redirect to URL. Then, you would specify a URL target such as the following:
javascript:confirmDelete('Would you like to perform this delete action?');
Oracle recommends using dynamic actions as the preferred way of executing JavaScript code. Consider the following example:
Create a button with action of Defined by Dynamic Action.
Create a dynamic action and using the action type Execute JavaScript Code to execute the previous code, for example:
if (confirm("Would you like to perform this delete action?")) { apex.submit('Delete'); }
This example uses JavaScript, but you could also easily implement this example without having to use JavaScript. Instead, you can use the declarative actions Confirm and Submit Page which are also translatable.
See Also:
Parent topic: Managing Buttons
The name you give a Submit button (that is, a button with an Action of Submit Page) determines the value of the built-in attribute REQUEST
when the page is submitted.
You can reference the value of REQUEST
from within PL/SQL using the bind variable :REQUEST
. By using this bind variable, you can conditionally process, validate, or branch based on which button the user clicks. You can also create processes that execute when the user clicks a button. And you can use a more complex condition as demonstrated in the following examples:
If :REQUEST in ('EDIT','DELETE') then ... If :REQUEST != 'DELETE' then ...
These examples assume the existence of buttons named EDIT and DELETE. You can also use this syntax in PL/SQL Expression conditions. Be aware, however, that the button name capitalization (case) is preserved. In other words, if you name a button LOGIN, then a request looking for the name Login fails. For example:
<input type="BUTTON" value="Finish" onclick="apex.submit('Finish');">
In this example Finish is the name of the REQUEST
and this example is case-sensitive.
Parent topic: Managing Buttons
Learn about branching with buttons.
Each page can include any number of branches. A branch links to another page in your application or to a URL. The Application Express engine considers branching at different times during page processing. You can choose to branch before processing, before computation, before validation, and after processing. Like any other control in App Builder, branching can be conditional. For example, you can branch when a user clicks a button. When you create a branch, you associate it with a specific button. The branch is only be considered if a user clicks the button.
See Also:
Parent topic: Managing Buttons