February 17, 2019
Hot Topics:

Learning WML - Navigation, User Input, and Graphics

  • July 24, 2002
  • By Steve Schafer
  • Send Email »
  • More Articles »


You can also set up navigation that is caused by a particular event. The <onevent> element provides several possible actions triggered by one or more intrinsic events.

The <onevent> tag has the following format:

<onevent type="type">     task</onevent>

The "type" can be one of the following:

Type Event
onpick User selects or deselects an <option> item.
onenterforward User navigates to a card in a forward manner (e.g., from a <go> or other link)
onenterbackward User navigates to a card in a backward manner (e.g., from a <prev> element or Back command)
ontimer A specified <timer> element expires

The "onenter" types can be used to display or omit particular information depending on how the user navigated to the card, or to force a refresh of dynamic information if the user reached the card by going backward (thereby getting the card from the cache and not a fresh copy from the server).

The "onpick" type is used when the <onevent> is nested within an <option> element to provide an action when the option is selected.

The "ontimer" type is used to provide a task at a particular time, independent of user actions (refreshing a page, moving to another page, etc).

The various tasks that can be used with the <onevent> element are described in the following table.

Task Use
<go> Navigates to a new card.
<prev> Navigates to the previous card.
<noop> Performs no task (no operation).
<refresh> Refreshes the current card's content.
<exit> Exits the current context. *
<spawn> Spawns a child task. *
<throw> "Throws" an exception that can be caught by an
optional <catch> element. *

* These tasks are specific to the Openwave browser. See the developer documentation at http://developer.openwave.com for more information.

The "ontimer" event can be used to display a splash screen (containing welcoming or copyright information), or to automatically return to a card after displaying an error. Its also very useful for refreshing a card to display up-to-date dynamic data.

In the following example, the deck displays a splash screen before the main menu:

<?xml version="1.0"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"    "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml><card id="splash" title="Welcome!"><onevent type="ontimer">      <go href="#main" /></onevent><timer name="delay" value="50"/><p mode="wrap">Welcome to ACME Incorporated.</p></card><card id="main" title="Main Menu"><p>Main menu here...</p></card></wml>

Note: The <timer> element's value parameter is measured in tenths of a second, so our splash screen stays active for 5 seconds (50 tenths).

Tip: The <card> element includes an optional "ontimer" parameter, which alleviates the need for a separate <onevent> element. Using this parameter, the above example could be shortened as follows:

 . . .  <card id="splash" title="Welcome!" ontimer="#main"> <timer name="delay" value="50"/> . . . 

Page 2 of 4

Comment and Contribute


(Maximum characters: 1200). You have characters left.



Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date